我使用的2000ifskit中的sfilter进行调试,想在mount complete例程中进行volumn名的转换,得到类似于"c:"这样的表示方式,代码如下: if (dosname = ExAllocatePool( NonPagedPool, B...
全文
回复(4) 2004-12-09 00:34 来自版块 - 文件系统(过滤)驱动程序开发
表情
paladiniiCoder你好,我也在为获取文件全路经而犯愁,现在尝试了很多方法都不是很成功,不知道你做的怎么样了 有进展吗 能不能把 经验共享一下?(2005-01-31 14:48)
toadwolf对不起, 前面我说错了. 盘符是在文件系统MOUNT前就有的. 不过RtlVolumeDeviceToDosName应该是在PASSIVE_LEVEL时调用的, 不能在完成例程里面用. toad(2004-12-10 06:56)
Coder谢谢你的回答,我翻了osr上关于在sfilter中获取volumn letter的帖子,他们都说在mount例程中使用这个函数是最好的办法,我不知道是怎么回事? 我想得到全路径名,必须得到volumn对应的盘符阿,有没有什么更好的办法呢?(2004-12-09 10:32)
toadwolfMOUNT完的时候被你HOOK住了, 这时OS还来不及创建盘符, 当然你什么也得不到. 顺便说一下, 盘符可以在用户模式被改变和删除而不需要通知内核, 所以在内核依赖盘符是不可靠的. 而且你下面函数的用法也有问题, 会有LEAK. NTSTATUS RtlVolum...(2004-12-09 03:33)

返回顶部