代码1:
UNICODE_STRING US1;
RtlInitUnicodeString(&US1,L"DDDD");
会动态分配一块指向“DDDD”的内存指针,赋值给US1.Buffer;
代码2:
wchar_t tmpstr[260]={0};
UNICODE_STRING US1;
RtlInitUnicodeString(&US1,tmpstr);
这时US1.Buffer直接指向tmpstr,如果修改了US1,也会同时修改tmpstr。
另外此时US1.MaximumLength=2;
要重新设定MaximumLength=260*2,才能正常使用。
本文深入探讨了UNICODE_STRING数据结构及其初始化函数RtlInitUnicodeString的使用方式,解释了如何通过该函数动态分配内存并进行字符串初始化,同时强调了在使用过程中需要注意的细节,如设置MaximumLength的重要性,确保程序的正确性和效率。
3286

被折叠的 条评论
为什么被折叠?



