|
阅读:2495回复:3
文件名中有中文,输出截断
我在IRP_MJ_CREATE中输出创建的文件名
// 文件结构体
PFILE_OBJECT pFile;
UNICODE_STRING ustrFileName = {0};
// 显示创建的文件名
pFile = Irp->Tail.Overlay.OriginalFileObject;
ustrFileName.Buffer = (PWSTR)ExAllocatePool(PagedPool, 256);
ustrFileName.MaximumLength = 256;
RtlCopyUnicodeString(&ustrFileName, &pFile->FileName);
KdPrint(("[Dispatch]新建文件名为:%wZ\n", &ustrFileName));
RtlFreeUnicodeString(&ustrFileName);运行的时候用DbgView查看发现如果路径下带中文则输出在中文前截断 用WinDbg调试发现在pFile 中的FileName中能正确显示文件名 这种如何处理? 是不是要转成ANSI的? 现在内核中不一般都是UNICODE编码了吗,难道还分本地编码? |
|
|
沙发#
发布于:2009-09-03 15:11
汗,发错版块了
麻烦版主帮忙移到ABC初学者 谢谢 |
|
|
板凳#
发布于:2009-09-03 20:43
转主ansistring就可以正确打印了
|
|
|
|
地板#
发布于:2009-09-04 09:30
内核中不都是UNICODE的编码吗?
怎么还要转ANSI? 我换成ANSI输出确实可以从DebugView上看到 难道这是DebugView的问题? |
|