U盘过滤驱动win2000下的安装问题

goo128   2009-9-26 08:51 楼主
最近在做一个U盘,移动硬盘等移动存储设备的过滤驱动。功能大致如下:1)当插入经过处理的加密U盘时,会提示输入密码,在密码验证正确之前不可以用;2)当插入的是一个未经处理过的普通U盘时会禁止使用,双击打开时会提示未格式化无法打开,该U盘在其他的未安装过滤驱动的电脑上能够正常使用。由于是要对整个USBSTOR类的设备进行过滤,所以原计划挂载在4d36e967-e325-11ce-bfc1-08002be10下,结果在windows2000下重启后会蓝屏,于是自己重启创建了一个ClassGUID,改写disk.inf文件,并且覆盖原来的disk.inf文件。在安装过滤驱动以后,当一个未曾在该主机上使用过的U盘插入时,会自动给该U盘加载过滤驱动。在大多数情况下,驱动都能够正常的工作,但是在一个新的U盘插入时可能会出现如下的情况:1)在插入一个普通U盘,在过滤驱动加载的过程中,磁盘卷已经显示出来这时候打开U盘时,U盘却能正常使用,当第二次插入时却不能使用(和预期的效果一样),并且每次出现这种情况时,系统都会提示驱动安装成功,需重启才能够生效。
2)当在加载过滤驱动时没有出现需要重启的提示时,插入一个新的U盘也不能使用。为什么会出现这样的问题呢,还请大家指教!个人认为出现异常可能是驱动没加载上的缘故,但是纳闷的是为什么第一次可能挂不上, 第二次就能挂上了呢?

回复评论 (5)

ding
点赞  2009-10-10 16:40
覆盖系统本身的disk.inf绝对不是一个明智之举
点赞  2009-10-12 15:14
“挂载在4d36e967-e325-11ce-bfc1-08002be10下,结果在windows2000下重启后会蓝屏”的原因在于你没有进行重入处理
点赞  2009-10-12 15:15
学习
点赞  2009-10-12 17:04

6楼  

如何处理重入问题?
点赞  2009-10-16 14:00
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复