W_TCP_OFFLOAD_RECEIVE_RETURN_HANDLER callback function (ndischimney.h)

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

NDIS calls the MiniportTcpOffloadReceiveReturn function to return ownership of NET_BUFFER_LIST and associated structures to an offload target.

Syntax

W_TCP_OFFLOAD_RECEIVE_RETURN_HANDLER WTcpOffloadReceiveReturnHandler;

NDIS_STATUS WTcpOffloadReceiveReturnHandler(
  [in] IN NDIS_HANDLE MiniportAdapterContext,
  [in] IN PNET_BUFFER_LIST NetBufferList
)
{...}

Parameters

[in] MiniportAdapterContext

The handle to an offload-target allocated context area in which the offload target maintains state information about this instance of the adapter. The miniport driver provided this handle to NDIS when it called NdisMSetMiniportAttributes from its MiniportInitializeEx function.

[in] 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 linked list can contain NET_BUFFER_LIST structures from one or more calls to the NdisTcpOffloadReceiveHandler function.

Return value

The MiniportTcpOffloadReceiveReturn function should always succeed. Therefore, the MiniportTcpOffloadReceiveReturn function should always return NDIS_STATUS_SUCCESS.

Remarks

NDIS calls the MiniportTcpOffloadReceiveReturn function to return ownership of NET_BUFFER_LIST structures and associated structures that the offload target passed in one or more previous calls to the NdisTcpOffloadReceiveHandler function.

The MiniportTcpOffloadReceiveReturn function can prepare a returned NET_BUFFER_LIST structure for use in a subsequent receive indication. Although the MiniportTcpOffloadReceiveReturn function can return the NET_BUFFER_LIST structures to a pool (for example, it could call the NdisFreeNetBufferList function), it can be more efficient to reuse the structures without returning them to the pool.

Note that the offload target driver should not unload and the offload target adapter must not be closed until all indicated receive buffers have been returned.

Requirements

Requirement Value
Target Platform Windows
Header ndischimney.h (include Ndischimney.h)
IRQL Any level

See also

MiniportInitializeEx

NET_BUFFER

NET_BUFFER_LIST

NdisFreeNetBufferList

NdisMSetMiniportAttributes

NdisTcpOffloadReceiveHandler