Filter drivers call the NdisFSendNetBufferListsComplete function to return a linked list of NET_BUFFER_LIST structures to an overlying driver and to return the final status of a send request.
VOID NdisFSendNetBufferListsComplete( _In_ NDIS_HANDLE NdisFilterHandle, _In_ PNET_BUFFER_LIST NetBufferLists, _In_ ULONG SendCompleteFlags );
- 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. The filter driver received the NET_BUFFER_LIST structures in previous calls to the FilterSendNetBufferLists function.
- SendCompleteFlags [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:
Specifies that the current IRQL is DISPATCH_LEVEL. For more information about this flag, see Dispatch IRQL Tracking.
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_SEND_FLAGS_SWITCH_SINGLE_SOURCE flag in the SendFlags parameter of NdisFSendNetBufferLists when it sends the request.
A filter driver calls the NdisFSendNetBufferListsComplete function to complete send requests that NDIS made to the driver's FilterSendNetBufferLists function. The filter driver specifies a linked list of NET_BUFFER_LIST structures that are associated with the completed send requests. While the status of the send requests is pending, the filter driver retains ownership of the NET_BUFFER_LIST structures and all the resources that are associated with the NET_BUFFER_LIST structures.
The filter driver can complete send requests in any order. For example, the filter driver could concatenate the NET_BUFFER_LIST structure lists from multiple FilterSendNetBufferLists calls or split up a list from a FilterSendNetBufferLists call. However, the filter driver must not modify the list of NET_BUFFER structures that are associated with a NET_BUFFER_LIST structure.
Note A filter driver should keep track of send requests that it originates and make sure that it does not call the NdisFSendNetBufferListsComplete function when such requests are complete.
|Supported in NDIS 6.0 and later.|
DDI compliance rules
Build date: 11/16/2013