Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
CoNDIS 6.0 miniport drivers indicate a linked list of NET_BUFFER_LIST structures to NDIS instead of the NDIS 5.x NDIS_PACKET structures. NDIS then forwards the NET_BUFFER_LIST structures to the appropriate overlying protocol drivers.
In CoNDIS 5.x, NDIS calls the ProtocolCoReceivePacket function to indicate received data. In CoNDIS 6.0, NDIS calls the ProtocolCoReceiveNetBufferLists function to indicate a linked list of NET_BUFFER_LIST structures.
If the NDIS_RECEIVE_FLAG_RESOURCES flag in the CoReceiveFlags parameterr that NDIS passes to a protocol driver's ProtocolCoReceiveNetBufferLists function is set, NDIS regains the ownership of the NET_BUFFER_LIST structures immediately after the ProtocolCoReceiveNetBufferLists call returns.
If the NDIS_RECEIVE_FLAG_RESOURCES flag is cleared in the CoReceiveFlags parameter that NDIS passes to a protocol driver's ProtocolCoReceiveNetBufferLists function , the protocol driver can retain ownership of the NET_BUFFER_LIST structures. In this case, the protocol driver must return the NET_BUFFER_LIST structures by calling the NdisReturnNetBufferLists function.
NDIS 6.0 can call the protocol driver's receive entry point at IRQL<= DISPATCH level. In NDIS 5.x and earlier versions, NDIS calls the receive entry point at IRQL = DISPATCH level.
For an overview of receive operations, see Receiving Network Data. For more information about CoNDIS protocol driver receive operations, see Receiving NET_BUFFER Structures in CoNDIS Drivers.