NdisFReturnNetBufferLists function (ndis.h)

Filter drivers call NdisFReturnNetBufferLists to release the ownership of one or more NET_BUFFER_LIST structures and their associated NET_BUFFER structures.

Syntax

void NdisFReturnNetBufferLists(
  [in] NDIS_HANDLE      NdisFilterHandle,
  [in] PNET_BUFFER_LIST NetBufferLists,
  [in] ULONG            ReturnFlags
);

Parameters

[in] NdisFilterHandle

The NDIS handle that identifies this filter module. NDIS passed the handle to the filter driver in a call to the FilterAttach function.

[in] 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 FilterReceiveNetBufferLists function.

[in] 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 following flags:

NDIS_RETURN_FLAGS_DISPATCH_LEVEL

Specifies that the current IRQL is DISPATCH_LEVEL. For more information about this flag, see Dispatch IRQL Tracking.

NDIS_RETURN_FLAGS_SWITCH_SINGLE_SOURCE

If this flag is set, all packets in a linked list of NET_BUFFER_LIST structures originated from the same Hyper-V extensible switch source port.

For more information, see Hyper-V Extensible Switch Send and Receive Flags.

Note  If each packet in the linked list of NET_BUFFER_LIST structures uses the same source port, the extension should set the NDIS_RECEIVE_FLAGS_SWITCH_SINGLE_SOURCE flag in the ReceiveFlags parameter of NdisFIndicateReceiveNetBufferLists when it sends the request.
 

Return value

None

Remarks

If the NDIS_RECEIVE_FLAGS_RESOURCES flag in the ReceiveFlags parameter that NDIS passed to the FilterReceiveNetBufferLists function was not set, the filter driver must call the NdisFReturnNetBufferLists function to return the NET_BUFFER_LIST structures and associated data. After the filter driver calls NdisFReturnNetBufferLists, NDIS returns the data to the underlying driver.

Requirements

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

See also

FilterAttach

FilterReceiveNetBufferLists

NET_BUFFER

NET_BUFFER_LIST