zxm1983123
驱动牛犊
驱动牛犊
  • 注册日期2005-10-20
  • 最后登录2008-01-22
  • 粉丝1
  • 关注0
  • 积分475分
  • 威望49点
  • 贡献值0点
  • 好评度47点
  • 原创分0分
  • 专家分0分
阅读:1823回复:4

请问如何安装lower usb storage filter?

楼主#
更多 发布于:2008-01-17 03:27
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点半还在这发帖子。请各位高手帮帮忙。
qu106
驱动牛犊
驱动牛犊
  • 注册日期2007-01-08
  • 最后登录2009-06-17
  • 粉丝0
  • 关注0
  • 积分394分
  • 威望80点
  • 贡献值0点
  • 好评度39点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-01-22 16:27
你可以在驱网论坛上下载U盘过滤驱动学习学习,
qu106
驱动牛犊
驱动牛犊
  • 注册日期2007-01-08
  • 最后登录2009-06-17
  • 粉丝0
  • 关注0
  • 积分394分
  • 威望80点
  • 贡献值0点
  • 好评度39点
  • 原创分0分
  • 专家分0分
板凳#
发布于: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加载之后重起就蓝屏了。
蓝屏说明你加载驱动成功,但是驱动在某个地方崩溃了
qu106
驱动牛犊
驱动牛犊
  • 注册日期2007-01-08
  • 最后登录2009-06-17
  • 粉丝0
  • 关注0
  • 积分394分
  • 威望80点
  • 贡献值0点
  • 好评度39点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-01-22 16:48
DJayWDM
驱动牛犊
驱动牛犊
  • 注册日期2008-01-19
  • 最后登录2008-03-15
  • 粉丝0
  • 关注0
  • 积分160分
  • 威望17点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
地下室#
发布于: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是我驱动程序的名字
游客

返回顶部