jeosph
驱动中牛
驱动中牛
  • 注册日期2001-04-19
  • 最后登录2006-08-08
  • 粉丝0
  • 关注0
  • 积分96分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
阅读:1827回复:1

Ndis(Co)IndicateReceive为什么这么费劲?

楼主#
更多 发布于:2001-07-27 10:58
The miniport passes status ― possibly the time a packet is received, possibly the time a packet was sent, and possibly other media-specific information ― to upper-layers by setting members in the out-of-band (OOB) data block associated with each packet descriptor. If the miniport is willing to allow a protocol to (1)keep the packet and return it later to the miniport's MiniportReturnPacket function, the miniport must set the Status member of the OOB block to NDIS_STATUS_SUCCESS. (2)If the miniport is running short of free packet descriptors or buffers and wants to force any interested upper layer driver to copy the packet data before NdisM(Co)IndicateReceivePacket returns,the miniport must set the Status member to NDIS_STATUS_RESOURCES.-2KDDK。

(1) (2)处是我的两个问题
(1) 包既然都给了协议驱动,干吗还要协议驱动返回给小端口
(2)是否是在说包描述符,和缓冲区是有限的资源,如果满了,则必须要求协议驱动赶快去走?

望不吝赐教!

最新喜欢:

ljmmaryljmmar...
hustfyb
驱动牛犊
驱动牛犊
  • 注册日期2001-05-28
  • 最后登录2002-01-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-07-27 11:27
(1)正常情况下miniport调用NdisMIndicateReceivePacket后packet的所有权就不在miniport了,Miniport不能再对packet进行任何操作,比方说回收packet....,miniport只有在接到MiniportReturnPacket调用时才能取回对packet的控制,对其进行操作
(2)如果packet设置Status为NDIS_STATUS_RESOURCES 则意味着miniport在调用NdisMIndicateReceivePacket后将立刻回收packet descriptor 通常发生在packet descriptor 资源短缺的情况
再见了白云 永别了黄鹤
游客

返回顶部