jasic2002
驱动牛犊
驱动牛犊
  • 注册日期2003-10-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望37点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
阅读:1235回复:2

关于ProtocolReturnPacket函数的问题

楼主#
更多 发布于:2003-11-01 17:20
请问该函数在什么时候被调有。

哪位大侠可以讲讲关于 NDIS_STATUS_RESOURCES 这个参数的意义。有什么用途。我看ddk中好多地方涉及这个参数
bangh
驱动牛犊
驱动牛犊
  • 注册日期2003-03-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分57分
  • 威望75点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-11-01 20:08
向上层 传数据, 上层接受 结束的时候, 就调这个函数.
dshadow79
驱动牛犊
驱动牛犊
  • 注册日期2002-09-29
  • 最后登录2006-04-10
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-11-01 20:30
这个是以前写的,再贴一下,赚点分 :D

The miniport driver can set the Status member of the out-of-band data block to NDIS_STATUS_RESOURCES if it needs to retain ownership of the packet descriptor and buffer descriptors of some element in a particular indication. Setting NDIS_STATUS_RESOURCES forces NDIS to indicate each such packet, one at a time, to bound protocols\' ProtocolReceive functions, thereby forcing each protocol to copy the packet data and release each packet to be returned back to the miniport driver.
大概意思就是,底层的资源不是一直都有的,miniport驱动的rfd什么的都是有限的,如果网络包来的太快太多难免枯竭.所以它就会设置 NDIS_STATUS_RESOURCES来告诉上层,这个包我要保留,你悠着点.上层也得遵守一下,不占用这个包(分配自己的packet,并拷贝数据),然后就把这个包返回.接着miniport就会释放这个包,以保证有足够的rfd来截收网络包,尽量避免丢包
游客

返回顶部