yliu
驱动牛犊
驱动牛犊
  • 注册日期2001-04-27
  • 最后登录2002-11-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1740回复:3

请教:向上指示数据包时PENDING怎么办?

楼主#
更多 发布于:2002-01-15 19:42
指示数据包时遇到NDIS_STATUS_PENDING的情况怎么办?

我使用NdisMIndicateReceivePacket函数向上层指示数据包,当指示结果为NDIS_STATUS_SUCCESS的时候一切正常,但当出现指示状态为NDIS_STATUS_PENDING时,下次再向上指示时就会死机,那位大虾可以指点一下当指示数据包时出现NDIS_STATUS_PENDING的情况我应该怎么办?

最新喜欢:

fsbfsb
dazzy
驱动中牛
驱动中牛
  • 注册日期2001-03-23
  • 最后登录2008-08-12
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望10点
  • 贡献值1点
  • 好评度10点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-01-18 13:16
当出现指示状态为NDIS_STATUS_PENDING时, 你不能用此包再进行指示其他包。你可以用其他的包来指示的(多分配几个包),ndis 的ReturnPacket例程会将状态为NDIS_STATUS_PENDING的包返还给你的。到时你就可以重用此包了。
yliu
驱动牛犊
驱动牛犊
  • 注册日期2001-04-27
  • 最后登录2002-11-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-01-18 14:43
太感谢你了,你知道我已经在这个问题上徘徊了两个星期了,谢谢!
不过还想问一下
1、我应该分配几个包比较合适呢?
2、在returnpacket函数里面要做些什么呢?只用一个ndisreturnpacket函数可以嘛?
mister
驱动牛犊
驱动牛犊
  • 注册日期2001-11-25
  • 最后登录2013-02-26
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望26点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-01-19 14:23
1.对于返回NDIS_STATUS_PENDING的问题,我觉得在DDK documention上的NdisMIndicateReceivePacket解释的比较好及全面。
2.因为一个数据包包括一个IP数据包,我觉得根据这个原则划分比较好。
3.在MiniportReturnPacket例程中,此时表示你发送到上层的数据包的所有权已经收回。若这些数据包本来是下层发送上来的,此时你可以将这些数据包返回去(调用函数NdisReturnpacket);若这些数据包本来就是你在本层生成的,此时你可以销毁掉或放到缓冲池中等待下次使用。
游客

返回顶部