NdisReturnNetBufferLists function

NDIS drivers call the NdisReturnNetBufferLists function to release ownership of a list of NET_BUFFER_LIST structures, along with the associated NET_BUFFER structures and network data.

Syntax

void NdisReturnNetBufferLists(
  NDIS_HANDLE      NdisBindingHandle,
  PNET_BUFFER_LIST NetBufferLists,
  ULONG            ReturnFlags
);

Parameters

NdisBindingHandle

A handle that identifies the target adapter. This handle was returned by a previous call to the NdisOpenAdapterEx function. All of the NET_BUFFER_LIST structures that are specified in this call must be from the binding that this handle identifies.

NetBufferLists

A pointer to a linked list of NET_BUFFER_LIST structures that are to be returned to the underlying driver. The linked list can contain NET_BUFFER_LIST structures from multiple previous calls to the ProtocolReceiveNetBufferLists function.

ReturnFlags

NDIS flags that can be combined with an OR operation. To clear all the flags, set this member to zero. This function supports the NDIS_RETURN_FLAGS_DISPATCH_LEVEL flag which; if set, indicates that the current IRQL is DISPATCH_LEVEL. For more information about this flag, see Dispatch IRQL Tracking.

Return Value

None

Remarks

If the NDIS_RECEIVE_FLAGS_RESOURCES flag in the ReceiveFlags parameter that NDIS passed to the ProtocolReceiveNetBufferLists function was not set, the protocol driver must call NdisReturnNetBufferLists to return the NET_BUFFER_LIST structures and associated data. After the protocol driver calls NdisReturnNetBufferLists, NDIS calls the underlying miniport driver's MiniportReturnNetBufferLists function.

Requirements

   
Minimum supported client Supported in NDIS 6.0 and later.
Target Platform Universal
Header ndis.h (include Ndis.h)
Library Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI compliance rules Irql_SendRcv_Function

See Also

MiniportReturnNetBufferLists

NET_BUFFER

NET_BUFFER_LIST

NdisOpenAdapterEx

ProtocolReceiveNetBufferLists