devcpp
驱动牛犊
驱动牛犊
  • 注册日期2011-10-09
  • 最后登录2012-03-16
  • 粉丝0
  • 关注1
  • 积分49分
  • 威望301点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分29分
阅读:2340回复:5

磁盘过滤驱动,为什么使用IoBuildSynchronousFsdRequest总蓝屏

楼主#
更多 发布于:2011-10-09 16:42
编写的磁盘过滤驱动,使用IoBuildSynchronousFsdRequest自发IRP,总是蓝屏,不知有什么要注意的地方?
jzxsasch@126.co
驱动牛犊
驱动牛犊
  • 注册日期2011-07-08
  • 最后登录2012-01-18
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望171点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2011-10-09 19:36
IRQL: <=APC_LEVEL

devcpp
驱动牛犊
驱动牛犊
  • 注册日期2011-10-09
  • 最后登录2012-03-16
  • 粉丝0
  • 关注1
  • 积分49分
  • 威望301点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分29分
板凳#
发布于:2011-10-10 15:45
回 1楼(jzxsasch@126.com) 的帖子
是不是应该加判断呢?
if(KeGetCurrentIrql() > APC_LEVEL)
{
    return XXXX;
}
jzxsasch@126.co
驱动牛犊
驱动牛犊
  • 注册日期2011-07-08
  • 最后登录2012-01-18
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望171点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2011-10-10 19:26
可以在IoBuildSynchronousFsdRequest 前使用ASSERT(KeGetCurrentIrql() <= APC_LEVEL)来判断是否是中断〉APC_LEVEL,如果是蓝屏,则<= APC_LEVEL,如果没有蓝屏windbg停止了就是中断太高。
devcpp
驱动牛犊
驱动牛犊
  • 注册日期2011-10-09
  • 最后登录2012-03-16
  • 粉丝0
  • 关注1
  • 积分49分
  • 威望301点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分29分
地下室#
发布于:2011-10-12 17:30
运行过程中不蓝屏了,但是关机时会蓝屏重启!这是为什么呢?
jzxsasch@126.co
驱动牛犊
驱动牛犊
  • 注册日期2011-07-08
  • 最后登录2012-01-18
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望171点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2011-10-12 19:08
电源请求处理不当吧?
游客

返回顶部