An offload target calls the NdisTcpOffloadForwardComplete function to complete one or more forward requests that were made to the MiniportTcpOffloadForward function of the offload target.
VOID NdisTcpOffloadForwardComplete( _In_ NDIS_HANDLE NdisMiniportHandle, _In_ PNET_BUFFER_LIST NetBufferList );
- NdisMiniportHandle [in]
The handle that the offload target obtained in a previous call to the NdisMRegisterMiniportDriver function.
- NetBufferList [in]
A pointer to a NET_BUFFER_LIST structure. This structure can be stand-alone or the first structure in a linked list of NET_BUFFER_LIST structures. The offload target obtained these structures in one or more calls to its MiniportTcpOffloadForward function.
To improve system performance, an offload target can create a linked list that contains NET_BUFFER_LIST structures from multiple calls to the MiniportTcpOffloadForward function. The offload target can then pass such a linked list in a single call to the NdisTcpOffloadForwardComplete function.
An offload target must write one of the following status values to each NET_BUFFER_LIST structure that it passes to the NdisTcpOffloadForwardComplete function:
The offload target accepted all the forwarded TCP segments and has processed them.
The offload target will not process the forwarded TCP segments because the specified TCP connection is being uploaded. In this case, the host stack queues and processes the TCP segments.
The offload target has received an RST segment on the TCP connection. In this case, the host stack does not processes the forwarded TCP segments.