阅读:1310回复:2
(高分求教)过滤驱动问题,敬请版主关注一下!!!!
过滤驱动问题,具体如下:(2000/xp)
一个过滤驱动,需要挂载在usbstor.sys上作为UpperFilter,过滤Mass storage disk向其发出的Device I/O Control。除此之外,所有经过过滤的Irp类型,全都Dump到Debug Info。 驱动正常加载,使用工具以及在注册表中察看,均没有问题。 Restart 设备后,使用SoftICE mod命令可以看到该模块正常载入。 但是,观察Dump信息,却发现只有PNP类型irp。且仅在Start device和Remove device的时候。其余读写等所有操作,过滤均收不到。 显然这是不可能的。于是,我使用WDMSniffer,加载到USB Mass Storage Device上,察看IRP,是很正常的。在纳闷的同时,发现一个特点,那就是,usbstor所拥有的Device Object有两个!其它的IRP都是由另外一个Device Object处理的。 所以,我的过滤也要加到那个Device Object上去。可是,那个Device Object是Query Relation的时候创建出来的,我不知道,应该怎样做了。 请各位给些提示,最好能有部分关键代码行。或是还有什么其他的方法,请不吝赐教!! Thanks in advance! |
|
最新喜欢:![]() |
沙发#
发布于:2004-05-19 08:51
关注中。
|
|
板凳#
发布于:2004-05-19 14:31
经过检查,我加载上的是usbstor的FDO。它在处理IRP_MN_QUERY_DEVICE_RELATIONS之后,为其子设备创建了一个PDO。
所以,我的过滤只能过滤到pnp类型的IRP. 现在的问题是,我可不可以直接在Filter中再创建一个Fido,然后将它Attach到child PDO上呢? 大家帮帮忙啊!! |
|