阅读:2793回复:2
磁盘过滤驱动拦截磁盘分区操作
各位兄弟新年好,我做了一个磁盘的上层过滤驱动,我可以拦截到磁盘的写操作。但是对于磁盘分区操作,我能拦截到IOCTL_DISK_SET_LAYOUT_EX命令。这个
IOCTL_DISK_SET_LAYOUT_EX命令最后应该转换成磁盘的写操作把分区信息写到磁盘里面,我想拦截到这个写操作。如果我的磁盘上层过滤驱动在PartMgr的上面,那么我驱动只能拦截到IOCTL_DISK_SET_LAYOUT_EX命令,拦截不到这个命令转换成的磁盘写操作。如果我的磁盘上层过滤驱动在PartMgr的下面,那么我驱动应该不能拦截到IOCTL_DISK_SET_LAYOUT_EX命令,应该拦截到的是这个命令转化的磁盘写操作。但是我把我的磁盘上层过滤驱动在PartMgr的下面,还是拦截到IOCTL_DISK_SET_LAYOUT_EX命令,没有拦截到这个命令转化的磁盘写操作。 各位兄弟能不能告诉我原因吗?怎么拦截到IOCTL_DISK_SET_LAYOUT_EX命令转换后的磁盘写操作? 我是通过修改注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E967-E325-11CE-BFC1-08002BE10318}\UpperFilters来实现把我的驱动放在PartMgr下面的。无论UpperFilters的值是PartMgr DiskFilter还是DiskFilter PartMgr, 我的试验结果都是一样的,都是只拦截到IOCTL_DISK_SET_LAYOUT_EX命令,没有拦截到这个命令转化的磁盘写操作。 谢谢各位兄弟,望指教! |
|
沙发#
发布于:2009-01-10 20:32
建议你看看disk.sys的源代码,这些操作是disk.sys干的,所以你放哪都拦不到。
|
|
|
板凳#
发布于:2009-01-10 20:34
哦,晕,错了,你做磁盘下层过滤可以拦到。。。
|
|
|