阅读:2259回复:6
怎样用GET_EVENT_STATUS(0x4a)SCSI命令来拦截SCSI设备某些动作?
怎样用GET_EVENT_STATUS(0x4a)SCSI命令来拦截SCSI设备某些动作?
我做了个WDM,通过拦截GET_EVENT_STATUS(0x4A)scsi命令来达到拦截CD-R弹出事件的目的, 与某CD-R刻录程序一起运行,能成功拦截,但在没安某CD-R刻录程序的“干净”系统中运行,却不成功,(因为根本就没有GET_EVENT_STATUS命令的出现,拦也没有用) 后来我发现,是“某CD-R刻录程序”激活了GET_EVENT_STATUS(0x4A)SCSI命令的不断发送,。。。。 请问高手同志:我应该在什么时候发送GET_EVENT_STATUS(0x4a)SCSI命令(或者通过什么途径来激活让操作系统自动发送该命令)以达到拦截CD-R弹出事件的目的。。。。 十 成 火 急 , 感 激 不 尽 ! - ! |
|
|
沙发#
发布于:2003-09-20 15:11
取状态的时候发送3!
|
|
|
板凳#
发布于:2003-09-20 16:52
可我不知道什么时候获取状态啊,比如说,我要拦截光驱弹出,那你说该什么时候获取状态
|
|
|
地板#
发布于:2003-09-20 22:48
有的CD-ROM不用event。
|
|
|
地下室#
发布于:2003-09-21 14:23
跟硬件实现有关!
|
|
|
5楼#
发布于:2003-09-22 13:38
是这样的,在W2K下,若是点右键弹出CD-ROM就不用GetEvent能实现拦截,但直接用手按光驱,除了用GetEvent来拦截,我就没招了,不知有何措施?
|
|
|
6楼#
发布于:2003-09-23 12:37
我的拦截成功了,不过大约几分到十分钟左右就命令堵塞了,用BUS HOUND看到的命令都没反应了,不知怎么搞的,
我试图用ReleaseQueue来清除堵塞,可就是没有满足 (SrbStatus & SRB_STATUS_QUEUE_FROZEN) 的出现 |
|
|