msdn中关于NdisReturnPackets有段的说法不太清楚:
When an underlying NIC driver runs low on available packet pool for receive indications or its NIC runs low on empty receive buffers, the miniport can force the NDIS library to call every bound protocol driver's ProtocolReceive function, each time with a single packet descriptor, until the miniport has regained ownership of its packet descriptors and the NIC has receive buffers available for incoming net packets. A ProtocolReceive function cannot begin post-processing a packet of received data and forwarding the processed data to clients until the driver's ProtocolReceiveComplete function is called.