能力值:
( LV9,RANK:610 )
|
-
-
2 楼
给IRP设置完成例程
|
能力值:
( LV3,RANK:25 )
|
-
-
3 楼
光驱的文件系统的read例程hook
或者直接挂到光驱的文件系统上
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
这个驱动不是我写的,我没有源码,我是在调试这个驱动,现在我不知道在什么地方下断。
另外,也没发现这个驱动有IoSetCompletionRoutine的调用
这个驱动是在系统启动时加载的,所以我没办法跟踪DriverEntry,在DriverEntry里面,它只对少数几个IRP_MJ_××××例程入口做了特别初始化IRP_MJ_PNP,IRP_MJ_POWER,IRP_MJ_INTERNAL_DEVICE_CONTROL和IRP_MJ_DEVICE_CONTROL,其它大部大部分IRP例程入口都指向一个简单的函数,这个函数简单地调用了IofCallDriver函数。
然而,奇怪的是,我自己写了一个调用ReadFile的测试程序来测试它,发现,又走不到这个不知道从哪儿来的简单的IRP_MJ_READ例程里面去。
请问这种情况到底是怎么回事?
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
时隔N久之,再次翻到这个贴子,感受竟然大不一样
对于光驱的读写,只有光驱之上的文件系统(如CDFS,UDFS等)的IRP_MJ_READ例程才会在ReadFile时被触发(如果支持FastIo也未必)
其下的设备驱动程序,读写是通过IRP_MJ_INTERNEL_DEVICE_CONTROL例程封装SCSI命令来完成的。
|
能力值:
( LV8,RANK:130 )
|
-
-
6 楼
谢谢!
|
|
|