阅读:1430回复:3
为什么NDISSEND没有真正的把包送出去?
调用NDISSEND以后,NDISSEND返回PENDING状态,随即PROTOCOLSENDCOMPLETE被触发.按说到这里数据包已经被送出去了.但是SNIFFER抓不到该包,说明其数据并没有被送出去. 而在大多数情况下,同样的数据包,同样的代码,流程却非常正常,SNIFFER也能看到包的交互.
这是为什么呢? 在PENDING完成指示后, PROTOCOLSENDCOMPLETE 必须调用NDisMSendComplete指示上层驱动吗? 为啥这个地方一调用NDisMSendComplete就蓝屏? 没招了. PS.网卡及驱动都一切正常. 50分奉送! |
|
|
沙发#
发布于:2007-04-05 19:00
引用第1楼dfbb1980于2007-03-24 13:03发表的“”: 关键是不管释放没释放,包应该都已经发出去了啊。为什么sniffer抓不到包呢?服务器也接收不到这个包。感觉象是在网卡驱动层被卡住了那样。 |
|
|