阅读:1479回复:2
毕设:过滤驱动程序的问题 急急急 各位 帮忙啊
我的毕设题目是使用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 我的理解对吗? 麻烦各位尤其是有相关开发经验的帮忙分析一下啊 挺郁闷的 :( |
|
沙发#
发布于:2004-05-17 16:26
主要是看你将UpperFilters添加在哪里,检查看你是否添加在HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Class\\{36FC9E60-C465-11CF-8056-444553540000}中的,否则你的那个过滤驱动程序是没真正起作用的
|
|
|
板凳#
发布于:2004-05-27 15:53
这个问题,顶一下!
|
|
|