阅读:1673回复:3
如何在sfilter中得到volumn名和完整文件名
小弟最近在学习sfilter过滤驱动,遇到了几个问题:
1)sfilter在SfMountCompletion创建自己的设备与volumn设备进行挂接,怎么样能从IRP相关的参数读出目标volumn设备名呢?如devicehardvolumn1或者C:相关的参数。上述两个参数中,"c:"是卷设备的连接符,怎样从volumn设备得到其连接符呢? 2)我想记录读写操作的完整文件名,但是试了以下方法都不能成功: a)RtlVolumeDeviceToDosName (irpSp->FileObject->DeviceObject, dosname )//一加载就蓝屏。 b)irpSp->FileObject->FileName//没有盘符 c)ObQueryNameString函数//得到的volumn设备卷名。 小弟先谢了! |
|
最新喜欢:![]() |
沙发#
发布于:2005-01-28 19:36
我也有同样问题,不知道楼主解决了吗?能不能把经验共享一下!!!
|
|
|
板凳#
发布于:2005-06-17 10:19
把这个帖子顶起来。
希望有个良好解答! |
|
地板#
发布于:2005-06-20 09:28
在SfFsControlMountVolume中调用RtlVolumeDeviceToDosName可以得到盘符(搜索这个版,应该有很多这样的帖子)
得到设备名,在sfilter的SfFsControlMountVolume已经有代码, 想得到完整的文件名,最好在create的时候处理,因为这时候在FileObject中有文件名,否则你只能在read,write的时候向文件系统发送irp查询了 |
|