unknown_love
驱动牛犊
驱动牛犊
  • 注册日期2007-07-24
  • 最后登录2007-12-25
  • 粉丝0
  • 关注0
  • 积分160分
  • 威望17点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
阅读:1857回复:7

已知文件名柄,只能取得路径名(无法得到盘符),如何取得文件的完整路径?

楼主#
更多 发布于:2007-09-16 11:39
HANDLE hFile; //已知的文件句柄
PFILE_OBJECT pFileObj=NULL;
OBJECT_HANDLE_INFORMATION info;
ANSI_STRING str;
char* buff;

ObReferenceObjectByHandle(hFile,0,0,KernelMode,(PVOID)&pFileObj,&info);

if (!pFile)
    return;
RtlUnicodeStringToAnsiString(&str,&pFile->FileName,1);
buff=str.Buffer;

DbgPrint("FilePath:%s\n",buff);  //输出结果: FilePath:\abc.exe
                                                        //而实际路径为:d:\abc.exe


RtlFreeAnsiString(&str);
ObDereferenceObject(pFile);

请高手指教怎样实现输出结果为: FilePath:d:\abc.exe

最新喜欢:

linshierlinshi...
游客

返回顶部