woodoar
驱动牛犊
驱动牛犊
  • 注册日期2004-03-08
  • 最后登录2006-05-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:758回复:0

毕设:过滤驱动程序的问题 急急急 各位 帮忙啊

楼主#
更多 发布于:2004-05-15 21:42
我的毕设题目是使用driverworks做一个usb过滤驱动程序,以实现对u盘的读写控制.不知各位有没有使用过driverworks\\examples下面的那个usbfilt例子程序,通过看它提供的说明,我认为可以把它绑定在usbstor.sys上,而且我觉得不加什么修改就可以让所有irps通过usbfilt.sys到达usbstor.sys(是这样吗?).

之后我修改了usbstor.inf文件,使用新的usbsor.inf后,在设备管理器Usb mass storage device处的驱动程序详细信息显示了两个驱动程序:usbfilt.sys和usbstor.sys,drivers目录下也有了usbfilt.sys.但实际上usbfilt.sys好像并没有加载成功(此时u盘能像平时一样访问)

此时打开注册表,class主键下类guid下的设备实例处有upperfilter键值,sevices主键下也有usbfilt子键,但enum主键下相应设备处却没有upperfilter键值,修改过的usbstor.inf文件中我添入了如下语句:
[MyHWAddRegistrySectionNT]
HKR,,\"UpperFilters\",0x00010000,\"usbfilt\"
这两句起的作用不就是在enum主键下添加upperfiter键值吗?为什么注册表没有添加上呢?

是我的inf文件有问题呢还是因为我的过滤驱动程序(实际上就是driverworks下的那个例子)有问题导致无法插入到堆栈中呢?
那个例子能不能作为u盘的upperfilter呢?
我认为upperfilter插入到堆栈中后堆栈应该是这个样子的
disk.sys
usbfilt.sys
usbstor.sys
我的理解对吗?

麻烦各位尤其是有相关开发经验的帮忙分析一下啊
挺郁闷的  
游客

返回顶部