Cloudy_hanji
驱动牛犊
驱动牛犊
  • 注册日期2005-01-06
  • 最后登录2005-08-08
  • 粉丝1
  • 关注0
  • 积分56分
  • 威望10点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:1726回复:2

为什么我的PtReceive函数里用Packet = NdisGetReceivedPacket(pAdapt->BindingHandle, MacReceiveContext)总是收不到包啊

楼主#
更多 发布于:2005-03-20 12:46
为什么我的PtReceive函数里用Packet = NdisGetReceivedPacket(pAdapt->BindingHandle, MacReceiveContext)总是收不到包啊?
因为packet一直等于NULL
要用另外自己把前视缓冲区之类的东西放到放到一个自定义的BUFFER里才行,请问知道是什么原因吗?是不是我的网卡有问题啊?用NdisGetReceivedPacket就死活收不了包
feifei1982
驱动牛犊
驱动牛犊
  • 注册日期2006-11-13
  • 最后登录2008-01-09
  • 粉丝0
  • 关注0
  • 积分340分
  • 威望35点
  • 贡献值0点
  • 好评度34点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-08-22 10:37
Re:为什么我的PtReceive函数里用Packet = NdisGetReceivedPacket(pAdapt->BindingHandle, MacReceiveC ..
没想到有这个问题的这么多
请明白的人说一下好不好
rangzh
驱动小牛
驱动小牛
  • 注册日期2005-04-24
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望150点
  • 贡献值0点
  • 好评度115点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-08-24 01:51
Re:为什么我的PtReceive函数里用
可能下面的网卡驱动并不支持带外数据及扩展数据等,因此只向上指示了网络数据(带内数据),没有指示完整的NDIS_PACKET

老的网卡驱动可能会这样

进入PtReceive只有两种情况:
1. 下面通过NdisXxxIndicate指示数据,这种情况下没有带外数据;
2. 下面通过NdisMIndicateReceivePacket指示数据包,而且状态设为NDIS_STATUS_RESOURCES,这种情况下有带外数据。

只有在2的情况下,调用NdisGetReceivedPacket才能的道NDIS_PACKET描述符指针

引用第0楼Cloudy_hanji于2005-03-20 12:46发表的 为什么我的PtReceive函数里用Packet = NdisGetReceivedPacket(pAdapt->BindingHandle, MacReceiveContext)总是收不到包啊 :
为什么我的PtReceive函数里用Packet = NdisGetReceivedPacket(pAdapt->BindingHandle, MacReceiveContext)总是收不到包啊?
因为packet一直等于NULL
要用另外自己把前视缓冲区之类的东西放到放到一个自定义的BUFFER里才行,请问知道是什么原因吗?是不是我的网卡有问题啊?用NdisGetReceivedPacket就死活收不了包
游客

返回顶部