阅读:1249回复:1
关于路径名中的中文,帮忙看下
在我的PostCreate中我去获得文件的全路径,但碰到个中文问题,我代码如下:
代码: PFLT_FILE_NAME_INFORMATION nameInfo = NULL; PUNICODE_STRING nameToUse = NULL; if (FltObjects->FileObject != NULL) { Status = FltGetFileNameInformation( Data, FLT_FILE_NAME_NORMALIZED | FLT_FILE_NAME_QUERY_ALWAYS_ALLOW_CACHE_LOOKUP, &nameInfo); } if(NT_SUCCESS( Status )) { nameToUse = &nameInfo->Name; } KdPrint(("PostCreate NameToUse[%wZ] Length[%d] MaximumLength[%d]\n", nameToUse, nameToUse->Length,nameToUse->MaximumLength )); 问题:当前创建文件\device\HarddiskVolume2\english中文.txt DebugView结果: PostCreate NameToUse[\device\HarddiskVolume2\english] Length[74] MaximumLength[74] 也就是后面中文部分的内容没能正常打印出来 不知道大家有没有遇到过这个问题 |
|
沙发#
发布于:2008-03-27 09:27
坛子里已经有人问过了。。。你可以搜搜看;;;
或者,你用下面的代码打印你的名字,或许就有中文了:) VOID KdPrintUniStr(__in PUNICODE_STRING UniStr) { ANSI_STRING AnsiStr; NTSTATUS status; status = RtlUnicodeStringToAnsiString(&AnsiStr,UniStr,TRUE); if (NT_SUCCESS(status)) { KdPrint((AnsiStr.Buffer)); RtlFreeAnsiString(&AnsiStr); } } |
|