ghostly
驱动牛犊
驱动牛犊
  • 注册日期2003-02-20
  • 最后登录2003-09-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1208回复:4

passthru下面如何转一个unicode类型的字符串

楼主#
更多 发布于:2003-08-20 15:49
我想在protocol.c里面的PtPnPNetEventReconfigure函数中把传进来的IN  PCWSTR  pBundleString(实际上是一个unicode字符串)转换成一个普通的ANSI字符串,但使用了RtlUnicodeStringToAnsiString 或者NdisUnicodeStringToAnsiString都无法转换成功,在编译的时候就会出错。各位大侠又没有解决办法?万分感谢!
送分
brains3
驱动牛犊
驱动牛犊
  • 注册日期2003-04-23
  • 最后登录2003-09-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-08-21 09:35
你是怎么转换的,编译出什么错误?这些问问题时都应该贴出来呀。

如果你直接调用NdisUnicodeStringToAnsiString/RtlUnicodeStringToAnsiString当然不行了,因为虽然PCWSTR指向一个UNICODESTRNG,但是UNICODE_STRING是一个结构,你需要先从PCWSTR转换到UNICODE_STRING,然后才能调用。至于转换,可以自己拷贝,也可以用RtlInitUnicodeString/NdisInitUnicodeString。
brains3
驱动牛犊
驱动牛犊
  • 注册日期2003-04-23
  • 最后登录2003-09-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-08-21 09:39
如果问题解决了,分就不用送了,
留着问大虾们棘手的问题用吧,呵呵。
ghostly
驱动牛犊
驱动牛犊
  • 注册日期2003-02-20
  • 最后登录2003-09-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-08-21 20:58
如果问题解决了,分就不用送了,
留着问大虾们棘手的问题用吧,呵呵。


昨天自己调通过了,今天看到这个帖子,十分感谢!
另外在IMD里面定义float类型的变量编译也会出错,想要生成一个随机数,使用了float类型,结果出错说是fltused,错误编号LNK2001,这是为什么啊?
ghostly
驱动牛犊
驱动牛犊
  • 注册日期2003-02-20
  • 最后登录2003-09-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-08-22 00:28
昨天自己调通过了,今天看到这个帖子,十分感谢!
另外在IMD里面定义float类型的变量编译也会出错,想要生成一个随机数,使用了float类型,结果出错说是fltused,错误编号LNK2001,这是为什么啊? [/quote]

我看了一下ddk文档,是说需要用FPU来设置浮点数运行环境。我加入了如下代码,在编译的时候返回十几个错误,大都是KeGetCurrentIrql not defined之类的错误,这个有什么办法吗?
ASSERT(KeGetCurrentIrql() <= DISPATCH_LEVEL);
KFLOATING_SAVE FloatSave;
NTSTATUS status = KeSaveFloatingPointState(&FloatSave);
if (NT_SUCCESS(status))
{
  ...
  KeRestoreFloatingPointState(&FloatSave);
}

游客

返回顶部