阅读:1235回复:2
关于ProtocolReturnPacket函数的问题
请问该函数在什么时候被调有。
哪位大侠可以讲讲关于 NDIS_STATUS_RESOURCES 这个参数的意义。有什么用途。我看ddk中好多地方涉及这个参数 |
|
沙发#
发布于:2003-11-01 20:08
向上层 传数据, 上层接受 结束的时候, 就调这个函数.
|
|
板凳#
发布于: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来截收网络包,尽量避免丢包 |
|