dhbellwyc
驱动牛犊
驱动牛犊
  • 注册日期2007-02-28
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分-42分
  • 威望68点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
阅读:4325回复:3

有谁可以解释一下"PUNICODE_STRING”这个数据类型啊?

楼主#
更多 发布于:2007-08-11 20:48
数据类型PUNICODE_STRING是我在DDK文档中找到的,根据说明是指向了包含unicode字符串的缓冲区。但我不知道在程序中如何填写它。比如有一个类型为PUNICODE_STRING的变量A,如果要把字符cdrom0赋值给它的话,语句该怎么写啊?高手帮下忙啊!
凝气神通
WQXNETQIQI
驱动大牛
驱动大牛
  • 注册日期2006-06-12
  • 最后登录2010-10-26
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望1076点
  • 贡献值0点
  • 好评度895点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2007-08-12 03:22
RtlInitUnicodeString(A,L"cdrom0")
其实看DDK可以知道
UNICODE_STRING是这样一个结构:
typedef struct _UNICODE_STRING {
  USHORT  Length;
  USHORT  MaximumLength;
  PWSTR  Buffer;
} UNICODE_STRING *PUNICODE_STRING;

RtlInitUnicodeString就是将前面的Length和MaximumLength填入宽字符串的相关信息

然后将Buffer设为指向那个字符串的指针
驱动开发者 呵呵
ProPlayboy
驱动大牛
驱动大牛
  • 注册日期2005-07-07
  • 最后登录2022-02-15
  • 粉丝0
  • 关注0
  • 积分1016分
  • 威望811点
  • 贡献值0点
  • 好评度719点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2007-08-12 09:57
人不靓仔心灵美,版头不正红花仔!
dhbellwyc
驱动牛犊
驱动牛犊
  • 注册日期2007-02-28
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分-42分
  • 威望68点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-08-12 14:46
谢谢!
凝气神通
游客

返回顶部