NDIS_TCP_OFFLOAD_SEND_COMPLETE callback function

[The TCP chimney offload feature is deprecated and should not be used.]

An offload target calls the NdisTcpOffloadSendComplete function to complete one or more send requests that were made to the MiniportTcpOffloadSend function of the offload target.

Syntax

NDIS_TCP_OFFLOAD_SEND_COMPLETE NdisTcpOffloadSendComplete;

void NdisTcpOffloadSendComplete(
  IN NDIS_HANDLE NdisMiniportHandle,
  IN PNET_BUFFER_LIST NetBufferList
)
{...}

Parameters

NdisMiniportHandle

The handle that the offload target obtained in a previous call to the NdisMRegisterMiniportDriver function.

NetBufferList

A pointer to a NET_BUFFER_LIST structure. This structure can be a stand-alone structure 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 MiniportTcpOffloadSend function.

Return Value

None

Remarks

To improve system performance, an offload target can create a linked list that contains NET_BUFFER_LIST structures from multiple calls to the MiniportTcpOffloadSend function. The driver can then pass such a linked list in a single call to the NdisTcpOffloadSendComplete function.

Before completing one or more send requests, the offload target must do the following for each NET_BUFFER_LIST structure that it passes to the NdisTcpOffloadSendComplete function:

Write a status value to the Status member:

Specify the number of data bytes sent. The offload target does this by calling the NET_BUFFER_LIST_INFO macro with an id of TcpOffloadBytesTransferred.

Call the NdisAdvanceNetBufferDataStart function for each NET_BUFFER structure that is associated with the NET_BUFFER_LIST structure. The NetBuffer parameter passed to the NdisAdvanceNetBufferDataStart function should point to the NET_BUFFER structure. The DataOffsetDelta parameter should specify the number of data bytes from the NET_BUFFER structure that were transmitted by the offload target and that were acknowledged by the remote host. The FreeMdl parameter is NULL.

Requirements

   
Windows Driver kit version
Target platform Universal
Minimum KMDF version
Minimum UMDF version
Header ndischimney.h (include Ndischimney.h)
Library
IRQL Any level
DDI compliance rules

See Also

MiniportSendNetBufferLists
MiniportTcpOffloadSend
NdisAdvanceNetBufferDataStart
NdisMRegisterMiniportDriver
NET_BUFFER
NET_BUFFER_LIST

Send comments about this topic to Microsoft