-
-
[求助]基础问题..这个值为什么会变成乱码?
-
发表于: 2009-8-12 01:43 3572
-
基础问题..这个值为什么会变成乱码?
if(KeyValueInformationClass == KeyValuePartialInformation)
{
WCHAR* pTempData;
ANSI_STRING anString;
ppartinfo = (PKEY_VALUE_PARTIAL_INFORMATION)KeyValueInformation;
pTempData = (WCHAR*)ExAllocatePool(PagedPool,(ppartinfo->DataLength + 100) * sizeof(WCHAR));
RtlCopyMemory(pTempData,ppartinfo->Data,ppartinfo->DataLength);
RtlInitAnsiString(&anString,ppartinfo->Data);
DbgPrint("anstring:%s\n",anString);
此处 ppartinfo->Data 是uchar 为什么用ansistring后是乱码?
而下面宽字符却正常?
RtlInitUnicodeString(&unString,(PWCHAR)ppartinfo->Data);
DbgPrint("Unstring:%ws\n",unString.Buffer);
DbgPrint("ppartinfo->data: %ws\n",ppartinfo->Data);
wcscat(pTempData,L"aaaa");
DbgPrint("pTempData:%ws\n",pTempData);
RtlInitUnicodeString(&unRegInfo,pTempData);
............................................................
ExFreePool(pTempData);
//本处的unString.Buffer 打印出来为什么会是跟 unString 字符的结果是一样的?
而且有时候 zwsetvaluekey出来注册表里却是乱码?
DbgPrint("Unstring:%ws\n",unString.Buffer);
ZwSetValueKey(KeyHandle,ValueName,0,REG_SZ,unString.Buffer,unString.Length);
}
if(KeyValueInformationClass == KeyValuePartialInformation)
{
WCHAR* pTempData;
ANSI_STRING anString;
ppartinfo = (PKEY_VALUE_PARTIAL_INFORMATION)KeyValueInformation;
pTempData = (WCHAR*)ExAllocatePool(PagedPool,(ppartinfo->DataLength + 100) * sizeof(WCHAR));
RtlCopyMemory(pTempData,ppartinfo->Data,ppartinfo->DataLength);
RtlInitAnsiString(&anString,ppartinfo->Data);
DbgPrint("anstring:%s\n",anString);
此处 ppartinfo->Data 是uchar 为什么用ansistring后是乱码?
而下面宽字符却正常?
RtlInitUnicodeString(&unString,(PWCHAR)ppartinfo->Data);
DbgPrint("Unstring:%ws\n",unString.Buffer);
DbgPrint("ppartinfo->data: %ws\n",ppartinfo->Data);
wcscat(pTempData,L"aaaa");
DbgPrint("pTempData:%ws\n",pTempData);
RtlInitUnicodeString(&unRegInfo,pTempData);
............................................................
ExFreePool(pTempData);
//本处的unString.Buffer 打印出来为什么会是跟 unString 字符的结果是一样的?
而且有时候 zwsetvaluekey出来注册表里却是乱码?
DbgPrint("Unstring:%ws\n",unString.Buffer);
ZwSetValueKey(KeyHandle,ValueName,0,REG_SZ,unString.Buffer,unString.Length);
}
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
赞赏
他的文章
看原图
赞赏
雪币:
留言: