阅读:2395回复:5
驱动中读取注册表多字符串值的问题
我要写个小驱动,需要读取注册表,查了一些资料,大都是读取二进制、字符串、十六进制的,而不幸的是我需要读取多字符串值,就是REG_MULTI_SZ。
多字符串值中,每个字符串之间以\0间隔,我现在使用ZwQueryValueKey读取出一个PKEY_VALUE_PARTIAL_INFORMATION结构的数据,其中的Data是UCHAR类型的,我想把这个UCHAR的转成UNICODE_STRING结构体,使用RtlInitUnicodeString后只能得到第一个\0之前的数据和数据长度,不知道怎么不受\0的影响,把Data中的所有数据全部转换出来。求老牛们救救我吧~~~~~~~ |
|
沙发#
发布于:2009-03-17 22:21
You can fill a UNICODE_STRING structure:
buff.MaximumLength = buff.Length = (SHORT)PartialInfo->DataLength; buff.Buffer = (PWSTR)(PartialInfo->Data); UNICODE_STRING does support UNICODE_NULL character in the middle. |
|
板凳#
发布于:2009-03-18 16:28
Great~!
Thank you very much. |
|
地板#
发布于:2009-03-20 15:32
装B, 能看懂楼主的中文还用英文回答。别跟我说你直接复制的帮助文档。就算是,你就不能把英文注释删除了啊?装逼
|
|
地下室#
发布于:2009-03-20 15:53
引用第3楼boildoctor于2009-03-20 15:32发表的 : 我对刚才说过的话表示非常惭愧和懊悔。刚才看了其他几个人提出的新手问题,michaelgz 都做出了回答,作为一个技术牛X的人,一般都不愿意给一些新手解释低级的问题。但是michaelgz 都回答了。分享和给予精神值得敬佩。 虽然都是用英语,不过我猜,这是他的风格。所以我也用英语来做正式的道歉,本人英语水平很差,但是为了尊重michaelgz ,我只好献丑了:I'm very sorry to say that words。Please forgive me for my ignorance。I'm wrong. |
|
5楼#
发布于:2010-06-12 14:04
受教,感谢一下。
|
|