magangwei
驱动牛犊
驱动牛犊
  • 注册日期2008-12-08
  • 最后登录2009-11-25
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望51点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1552回复:2

NDIS 中间层 passthru 蓝屏问题

楼主#
更多 发布于:2009-09-03 18:02
我在passthru的例子中,开了一个线程处理发包和收包,线程在处理收包过程中,处理完后,调用NdisMIndicateReceivePacket函数通知上层驱动,但是就蓝屏了,请教其解决方案。

我是把每个包的NDIS_BUFFER重新分配了内存,自己拥有了一个包,然后对这个包进行规则过滤,但是不知道为什么,会出现上面的情况?
modernrabbit
驱动牛犊
驱动牛犊
  • 注册日期2009-03-31
  • 最后登录2013-02-18
  • 粉丝1
  • 关注0
  • 积分30分
  • 威望281点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分1分
沙发#
发布于:2009-09-15 20:29
分配的内存释放了没?在哪里释放的?
dahubaobao
驱动牛犊
驱动牛犊
  • 注册日期2004-09-25
  • 最后登录2012-03-14
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望80点
  • 贡献值0点
  • 好评度44点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2009-09-16 20:51
用windbg分析一下啊  看看哪里蓝的屏  用NdisMIndicateReceivePacket会在2个地方释放资源
1,如果NDIS_PACKET的status为NDIS_STATUS_RESOURCE,那么在NdisMIndicateReceivePacket后就可以释放资源了。

2,如果status不为NDIS_STATUS_RESOURCE,资源在MiniportReturnPackets()里释放。仔细检查代码吧!
游客

返回顶部