kuaixue1023
驱动牛犊
驱动牛犊
  • 注册日期2009-11-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望201点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2280回复:3

minifilter中FltSendMessage导致IRQL_NOT_LESS_OR_EQUAL错误

楼主#
更多 发布于:2010-06-13 16:17
   我在minifilter结构的postread例程中使用FltSendMessage函数从驱动中应用层发审计信息(不需要应用层回复)
   status = FltSendMessage( gFilterHandle,
                                     &g_pClientPort,
                                     notification,
                                     sizeof( MSG_SEND_AUDIT ),
                                     NULL,
                                     &replyLength,
                                     NULL
                                     );
  然后应用层有一个线程用来接收消息并处理,有的时候驱动运行十分正常,但是有的时候会BSOD,用windbg调试显示是错在
  FltSendMessage函数上,wdk文档上说它要求在IRQL: <= APC_LEVEL,可是我之前并没有任何导致IRQL 提高的操作
  啊,看了minifilter自带的例子scanner中也是这样使用的(不过scanner中的通信应用层会回复消息),在网上查了N多资料,
  仍然无法解决这个问题,希望高手予以指点!
kuaixue1023
驱动牛犊
驱动牛犊
  • 注册日期2009-11-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望201点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2010-06-13 16:19
自己顶一下
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
板凳#
发布于:2010-06-14 03:27
你可以看dump中的当前irql, 如果不高,通常可能是内存飞了

http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
kuaixue1023
驱动牛犊
驱动牛犊
  • 注册日期2009-11-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望201点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2010-06-14 15:34
回 2楼(znsoft) 的帖子
检查出来了 是IRQL过高在DISPATCH_LEVEL,谢谢znsoft
游客

返回顶部