NdisFReturnNetBufferLists function

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

NdisFilterHandle [in]

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

NetBufferLists [in]

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.

ReturnFlags [in]

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

Version

Supported in NDIS 6.0 and later.

Header

Ndis.h (include Ndis.h)

IRQL

<= DISPATCH_LEVEL

DDI compliance rules

Irql_Filter_Driver_Function

See also

FilterAttach
FilterReceiveNetBufferLists
NET_BUFFER
NET_BUFFER_LIST

 

 

Send comments about this topic to Microsoft

Show:
© 2015 Microsoft