Indicating Received Data from a Miniport Driver
The following figure illustrates a miniport driver receive indication.
Miniport drivers call the NdisMIndicateReceiveNetBufferLists function to indicate the receipt of data from the network. The NdisMIndicateReceiveNetBufferLists function passes the indicated list of NET_BUFFER_LIST structures up the stack to overlying drivers.
If a miniport driver sets the NDIS_RECEIVE_FLAGS_RESOURCES flag in the ReceiveFlags parameter of NdisMIndicateReceiveNetBufferLists, this indicates that the miniport driver must regain ownership of the NET_BUFFER_LIST structures immediately. In this case, NDIS does not call the miniport driver's MiniportReturnNetBufferLists function to return the NET_BUFFER_LIST structures. The miniport driver regains ownership immediately after NdisMIndicateReceiveNetBufferLists returns.
If a miniport driver does not set the NDIS_RECEIVE_FLAGS_RESOURCES flag in the ReceiveFlags parameter of NdisMIndicateReceiveNetBufferLists, NDIS returns the indicated NET_BUFFER_LIST structures to the miniport driver's MiniportReturnNetBufferLists function. In this case, the miniport driver relinquishes ownership of the indicated structures until NDIS returns them to MiniportReturnNetBufferLists.
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for