3887|5

87

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

当PDEVICE_OBJECT指针失效时怎么办? [复制链接]

问题是这样的:
我写的一个文件系统驱动,需要存储系统中所有硬盘设备的对象指针(PDEVICE_OBJECT),正常情况下,我使用这些指针是没有问题的。
但是,当系统移除某个硬盘设备(如usb设备或san的硬盘)后,我驱动中对应的PDEVICE_OBJECT指针所指向的设备对象就已经不存在了,但是,我驱动无法感知系统移除设备的事件,此后,我仍旧去访问这个非法的设备对象指针,结果导致page_fault(bug_check),蓝屏了。

请问坛里的兄弟们,有没有办法:
1、在文件系统驱动中感知系统对硬盘设备的remove操作,注意,是任何一块硬盘设备,不是我文件系统所mount的设备。(事实上,是我做备份用的磁盘设备)
2、IoBuildAsynchronousFsdRequest、IOCallDriver访问了非法的设备对象指针,一定要蓝屏吗?用try是否可以捕获异常处理之?还是有没有什么其它办法?访问不了设备没关系,蓝屏就很惨啊

最新回复

我也想知道,正在找這方面的資料~~~~~  详情 回复 发表于 2008-5-1 10:15
点赞 关注

回复
举报

73

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
没有关联的设备没法感知,只能主动查询。
使用指针前先用MmIsAddressValid查一下指针是否有效。
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
还有没有哪位高手能指教下呢
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

4
 
获得device object时,ObReferenceObjectByPointer , 不再用时ObDereferenceObject
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

5
 
cnzdgs 的方法非常不错.
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

6
 
我也想知道,正在找這方面的資料~~~~~
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表