阅读:1823回复:4
请问如何安装lower usb storage filter?
usb 盘插入系统中时,usbstor.sys驱动会为其创建一个设备对象,老板的要求是做一个filter,当U盘插入,usbstor为其创建一个设备对象时,filter也创建一个设备对象attach在usbstor创建的设备对象之上,监视对U盘的读写。虽然DDK的toaster里面的filter驱动可以拿过来用,但是里面却没有适用的inf安装文件。
在本论坛的另一篇帖子中http://bbs.driverdevelop.com/htm_data/16/0504/90057.html,楼主说可以直接把filter注册成一个普通的内核服务。然后在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum中的某个地方增加一个名为FlowerFilters的多字符串类型的键值,就可以实现这个目的。但是那篇帖子中楼主也没有说很清除。 我自己研究了一下inf安装,也研究了论坛上一些帖子里说的方法,可是还是搞不定,不知道如何安装这样一个过滤驱动,确实很急,不然不会凌晨3点半还在这发帖子。请各位高手帮帮忙。 |
|
沙发#
发布于:2008-01-22 16:27
你可以在驱网论坛上下载U盘过滤驱动学习学习,
|
|
板凳#
发布于:2008-01-22 16:47
两天写了一个U盘的过滤驱动(更准确的说应该是改了一个),
但是我在注册表中添加了相应的项之后,在驱动的列表中发现了它, 但是他的状态是停止的. 但是我不知道怎么来启动他,所说特此来请教各位. 我的注册表的操作是这样的,不知道对不对: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR\Disk&Ven_USB-DISK&Prod_FREEDIK-LWFORMAT&Rev_2.23\SN123456789&0] "LowerFilters"="usbstorfilter" [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbstorfilter] "Type"=dword:00000001 "Start"=dword:00000003 "ErrorControl"=dword:00000001 "DisplayName"="usbstorfilter" 导入注册表之后,再更新启动系统(把我的驱动放到了DRIVERS目录下了)之后,发现 usbstor可以很好的启去(插入U盘之后).但是我的没有反应. 请大家指点. 解决方案: "LowerFilters"="usbstorfilter" 貌似应该是HigherFilters吧 我刚才说错了,呵呵。 加载filter有两个办法。 1.在enum项中描述,也就是你描述的那样。 2.在class中描述。 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E967-E325-11CE-BFC1-08002BE10318} 其中{4D36E967-E325-11CE-BFC1-08002BE10318}是USBSTOR所对应的class guid。 因此在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E967-E325-11CE-BFC1-08002BE10318} 加入"LowerFilters"="usbstorfilter" 对了,好像重启电脑才有效哦。 我没再U盘上过滤过,我看我的设备里已经有了个UpperFilters为PartMgr。 不过我以前做过加载filter的实验,就是这么加载的。 另外我修改enum注册表,加载filter,怎么不让我改啊,说权限不够。 楼上的朋友呢用的是什么系统, 我是2000加载之后重起就蓝屏了。 蓝屏说明你加载驱动成功,但是驱动在某个地方崩溃了 |
|
地板#
发布于:2008-01-22 16:48
|
|
地下室#
发布于:2008-01-30 16:05
楼上的,你给的网址打不开啊。
我做USB上层过滤驱动的时候是这样做的: 在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E967-E325-11CE-BFC1-08002BE10318} 加入"UpperFilters"="usbstorfilter" , 然后在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Service里面添加一项,写出来麻烦,我导出成一个注册表文件好了: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbfilt] "Type"=dword:00000001 "Start"=dword:00000003 "ErrorControl"=dword:00000001 "ImagePath"=hex(2):53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\ 72,00,69,00,76,00,65,00,72,00,73,00,5c,00,75,00,73,00,62,00,66,00,69,00,6c,\ 00,74,00,2e,00,73,00,79,00,73,00,00,00 "DisplayName"="usbfilt" [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbfilt\Enum] "Count"=dword:00000002 "NextInstance"=dword:00000002 "0"="IDE\\CdRomPIONEER_DVD-RW__DVR-109_________________1.55____\\45_044463043353132364335204e202020202020" "1"="IDE\\CdRomPIONEER_DVD-ROM_DVD-123P________________1.03____\\5&287af2d9&0&0.1.0" [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbfilt\Security] "Security"=hex:01,00,14,80,90,00,00,00,9c,00,00,00,14,00,00,00,30,00,00,00,02,\ 00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,\ 00,00,02,00,60,00,04,00,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,00,00,\ 05,12,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,\ 20,02,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,0b,00,00,00,00,\ 00,18,00,fd,01,02,00,01,02,00,00,00,00,00,05,20,00,00,00,23,02,00,00,01,01,\ 00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00 保存成一个。reg文件,双击合并到注册表里就行啦,上面usbfilt是我驱动程序的名字 |
|