|
当PDEVICE_OBJECT指针失效时怎么办?
[复制链接]
问题是这样的:
我写的一个文件系统驱动,需要存储系统中所有硬盘设备的对象指针(PDEVICE_OBJECT),正常情况下,我使用这些指针是没有问题的。
但是,当系统移除某个硬盘设备(如usb设备或san的硬盘)后,我驱动中对应的PDEVICE_OBJECT指针所指向的设备对象就已经不存在了,但是,我驱动无法感知系统移除设备的事件,此后,我仍旧去访问这个非法的设备对象指针,结果导致page_fault(bug_check),蓝屏了。
请问坛里的兄弟们,有没有办法:
1、在文件系统驱动中感知系统对硬盘设备的remove操作,注意,是任何一块硬盘设备,不是我文件系统所mount的设备。(事实上,是我做备份用的磁盘设备)
2、IoBuildAsynchronousFsdRequest、IOCallDriver访问了非法的设备对象指针,一定要蓝屏吗?用try是否可以捕获异常处理之?还是有没有什么其它办法?访问不了设备没关系,蓝屏就很惨啊
|
|