nicklezhang
驱动牛犊
驱动牛犊
  • 注册日期2004-03-29
  • 最后登录2017-06-19
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望145点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:1925回复:6

NdisMEthIndicateReceive出错(40分)

楼主#
更多 发布于:2004-06-04 16:11
为什么我调用NdisMEthIndicateReceive之后,用抓包工具看不到送上来的包呢,测试软件也接受不到送上来的数据包。
真搞不明白,求救
nicklezhang
驱动牛犊
驱动牛犊
  • 注册日期2004-03-29
  • 最后登录2017-06-19
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望145点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2004-06-07 07:35
我知道是因为数据没有被成功送上去,但问题是错在哪里呢:
NdisMEthIndicateReceive(
          pAdapter->MiniportHandle,
          MacReceiveContext,
          VirtualAddress ,
          HeaderBufferSize,
         (PUCHAR)VirtualAddress+HeaderBufferSize,
         BytesAllocated-HeaderBufferSize,
         BytesAllocated-HeaderBufferSize);
packetsize也就是这里的BytesAllocated-HeaderBufferSize被我一次性全交上去了,packetsize=以太网帧全长-以太网头长度
然而,我的调用每次都不能把包交上去,为什么!?
其中我把所有的数据都拷到了VirtualAddress的地方,也就是说,对于packetsize>lookaheadbuffersize的情况,我都用NdisTransferData考完数据了,而且结果正确。现在我不用 NdisMEthIndicateReceive了,我重新打包然后用NdisReceivePacket,现在成功了。

[编辑 -  6/8/04 by  nicklezhang]
游客

返回顶部