阅读:2365回复: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的问题? |
|