阅读:2186回复:2
文件系统过滤驱动,捕获IRP_MN_MOUNT_VOLUME,底层返回STATUS_UNRECOGNIZED_VOLUME
我是利用FileSpy 改的。目的过滤USB移动磁盘(禁止使用,设置只读)。
在虚拟机VmWare的WinXp sp2下: 1.如果插入的是使用常用文件系统(如 fat)的U盘,那么工作正常,volume mount 成功,我的驱动也 attach成功 2.如果插入一个无法识别文件系统格式的U盘(我自定义的加密的),那么: 虚拟机下,只重新发送2次 IRP_MN_MOUNT_VOLUME,都失败后就不再收到这个irp了 而在我的本机(win 2k3),则不断的重新发送。因为一直 mount 失败。这个是驱动版本的问题吗? 3.我使用了以前利用 sfilter修改的相同目的同名驱动。 我发现,在2的情况下,也会 mount失败2次,不过第三次却成功了,根据我的运行日志,出现一个 \FileSystem\RAW 的一个东西 原来,sfilter 的驱动 对 设备“\\Device\\RawDisk” 调用了 SfFsNotification( rawDeviceObject, TRUE ); 我加入了这个代码,可是这样一来,对接入的U盘使用系统自带的安全删除操作时,则提示设备被占用,无法删除,加入该代码之前是正常的。 到底是被谁占用的呢,怎样才是正规的做法? |
|
沙发#
发布于:2012-03-15 16:57
文件过滤驱动能将USB禁用或者隐藏吗??
|
|
板凳#
发布于:2012-03-15 17:49
不能,只不过经由 "\\.\X: " 符号链接的访问都可以控制。
|
|