// ndis.h
VOID NdisFSendNetBufferListsComplete(
[in] NDIS_HANDLE NdisFilterHandle,
PNET_BUFFER_LIST NetBufferList,
[in] ULONG SendCompleteFlags
);
View the official Windows Driver Kit DDI reference
No description available.
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.
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.
NetBufferList
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.
Note This flag is available in NDIS 6.30 and later.
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.