-
-
[求助]由FileHandle得到FileName
-
发表于:
2008-7-28 23:43
5259
-
[求助]由FileHandle得到FileName
我得到了一个文件的FileHandle,想要获取文件的路径名。用了下面的代码:
ObReferenceObjectByHandle( FileHandle, 0, NULL, KernelMode, &pFileObj, NULL );
if(pFileObj==NULL)
{
DbgPrint("get fileobject error\n");
return;
}
RtlUnicodeStringToAnsiString(&ObjectName,pFileObj->ObjectName,TRUE);
但是这个RtlUnicodeStringToAnsiString(&ObjectName,pFileObj->ObjectName,TRUE);的调用会导致一个bsod,不知道为什么,貌似是pFileObj->ObjectName不对,指向的不是路径.
然后我又用下面的代码试了一下,ok:
ObReferenceObjectByHandle( FileHandle, 0, NULL, KernelMode, &pFileObj, NULL );
obQueryNameString(FileObject,pFullFilePath,MAXFILEPATHLEN,&ret);
RtlUnicodeStringToAnsiString(&ObjectName,pFullPath,TRUE);
我就是想知道为什么第一种方法不行,哪位大侠给解释下!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课