trierwang
驱动牛犊
驱动牛犊
  • 注册日期2009-04-19
  • 最后登录2009-06-25
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望151点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2589回复:1

在XP系统开发U盘上层过滤驱动时遇到的安装问题研究初步成果及疑问

楼主#
更多 发布于:2009-06-17 07:35
写个U盘上层过滤驱动,然后进行加密解密,权限控制在理论上来说是完全可行的。
可要跟系统内原有的功能驱动安装在一起,目前我找到的方法是用修改注册表的方法,
网上有很多,但发现修改后重启蓝屏。Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E967-E325-11CE-BFC1-08002BE10318}]
"UpperFilters"=hex(7):75,00,73,00,62,00,73,00,74,00,6f,00,72,00,66,00,69,00,6c,00,74,\
  00,65,00,72,00,00,00,00,00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbstorfilter]
"Type"=dword:00000001
"Start"=dword:00000003
"ErrorControl"=dword:00000001
"DisplayName"="usbstorfilter"
原因应该是这个注册表导入的时候,会造成原来为partmgr的上层过滤驱动被替换,而此过滤是硬盘分区表管理的,这应该是造成重启蓝屏的原因。我没有找到可以同时加多个过滤驱动的方法,同时发现,这个是把U盘过滤驱动,装在了磁盘驱动的上面,因为:4D36E967-E325-11CE-BFC1-08002BE10318是磁盘的GUID.不知道是什么原理?或者哪里大哥有可以加多个过滤驱动的修改注册表的方法?我感觉这里可能还是应该在那个PARTMGR上面加个UPPERFILTER。
仔细看了下注册表,发现
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{36FC9E60-C465-11CF-8056-444553540000}在这个里面加入Uppfilter项目然后在注册表中导入:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbstorfilter]
"Type"=dword:00000001
"Start"=dword:00000002
"ErrorControl"=dword:00000001
"DisplayName"="usbstorfilter"
发现过滤驱动 可以运行,并且开机无蓝屏。并且插入U盘时DRIVERMONITOR显示驱动加载是成功的.
但我在U盘里面写文件的时候,却发现writer() 函数中的调试信息并没有在DRIVERMONITOR中输出.
不知道这个是怎么回事,DRIVERMONITOR 里面只显示W32N——PacketSend:Entry...
这是什么原因?
余已二五,未成一事,孑然一身,飘泊于外,常自叹之。 无德,无才,无能,少钱,业为吾本,却不能精,沉于非欲,无力静心志学。 何为吾成人之日?
liuganchao
驱动牛犊
驱动牛犊
  • 注册日期2009-06-22
  • 最后登录2012-04-20
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望151点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-07-29 17:56
完成 源码给我发一份!!谢谢了!!743333895@qq.com
游客

返回顶部