阅读:1616回复:3
请问怎样去掉NLGetFullPathName获取文件名之的尾巴
代码片段
status = NLAllocateNameControl( &newName, &gFileSpyNameBufferLookasideList ); if (NT_SUCCESS( status )) { status = NLGetFullPathName( FileObject, newName, &DevExt->NLExtHeader, LookupFlags | NLFL_USE_DOS_DEVICE_NAME, &gFileSpyNameBufferLookasideList, &cacheName ); nameToUse = &newName->Name; nameToUse->Buffer[nameToUse->Length] = L'\0'; KdPrint(("SFilter!SfCreate: %ws\n",nameToUse->Buffer)); } if (newName != NULL) { NLFreeNameControl( newName, &gFileSpyNameBufferLookasideList ); } 运行后结果: 执行保存操作 SFilter!SfCreate: C:\123.txt\:Docf_QebiesnrMkudrfcoIaamtykdDa:$DATA SFilter!SfCreate: C:\123.txt\:QebiesnrMkudrfcoIaamtykdDa:$DATA SFilter!SfCreate: C:\123.txt\:Docf_QebiesnrMkudrfcoIaamtykdDa:$DATA SFilter!SfCreate: C:\123.txt\:QebiesnrMkudrfcoIaamtykdDa:$DATA |
|
沙发#
发布于:2007-05-18 11:31
Length =nameToUse->Length;
// trim right '\' while ((Length > 3) && (nameToUse->Buffer[Length - 1] == L'\\') && (nameToUse->Buffer[Length - 2] != L':')) { nameToUse->Buffer[Length] = L'\0'; -- Length; } |
|
驱动小牛
![]() |
板凳#
发布于:2007-05-18 11:50
不用去掉,本来就是不可用的.你只管create正确时候的文件名。
|
|
地板#
发布于:2007-05-18 13:09
谢谢,
|
|