[转] 根据文件的Handle获取文件路径

来源:互联网 发布:哈尔滨拼车软件 编辑:程序博客网 时间:2024/06/03 20:24

      在网上搜索此类问题,搜索到有用的内容相当少,可能是因为比较少人发表这种文章,也不排除比较少人使用内核模式的办法。今晚通过在网上看到的一点资料,结合自己近期研究的课题,使用NtQueryInformationFile实现了根据文件的Handle获取文件路径,程序在VC2008下调试通过,源代码如下:

 

 

      虽然没有使用编写驱动程序,但使用的API跟内核模式的一样的,使用ntdll.dll里的API。类型定义全部从DDK 2003 SP1中摘出来的。

      对于NtQueryInformationFile获取到的文件路径,是不带盘符的,如“/test/Debug/test.txt”。还有一个内核API可以根据文件的Handle获取文件路径,就是NtQueryObject,使用它获取的路径是MS-DOS设备路径,如“/Device/HarddiskVolume3/test/Debug/test.txt”。

原创粉丝点击