solar-2008
驱动牛犊
驱动牛犊
  • 注册日期2008-08-31
  • 最后登录2010-05-21
  • 粉丝0
  • 关注0
  • 积分43分
  • 威望305点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2793回复:2

磁盘过滤驱动拦截磁盘分区操作

楼主#
更多 发布于:2009-01-08 13:56
各位兄弟新年好,我做了一个磁盘的上层过滤驱动,我可以拦截到磁盘的写操作。但是对于磁盘分区操作,我能拦截到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命令,没有拦截到这个命令转化的磁盘写操作。

谢谢各位兄弟,望指教!
generalos
驱动牛犊
驱动牛犊
  • 注册日期2008-10-23
  • 最后登录2011-04-20
  • 粉丝0
  • 关注0
  • 积分63分
  • 威望477点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-01-10 20:32
建议你看看disk.sys的源代码,这些操作是disk.sys干的,所以你放哪都拦不到。
驱网无线,快乐无限
generalos
驱动牛犊
驱动牛犊
  • 注册日期2008-10-23
  • 最后登录2011-04-20
  • 粉丝0
  • 关注0
  • 积分63分
  • 威望477点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2009-01-10 20:34
哦,晕,错了,你做磁盘下层过滤可以拦到。。。
驱网无线,快乐无限
游客

返回顶部