INITIATE_OFFLOAD_COMPLETE_HANDLER callback function

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

NDIS calls a protocol driver's or intermediate driver's ProtocolInitiateOffloadComplete function to complete an offload operation that the driver previously initiated by calling the NdisInitiateOffload function.

Syntax

INITIATE_OFFLOAD_COMPLETE_HANDLER InitiateOffloadCompleteHandler;

void InitiateOffloadCompleteHandler(
  IN NDIS_HANDLE ProtocolBindingContext,
  IN PNDIS_PROTOCOL_OFFLOAD_BLOCK_LIST OffloadBlockList
)
{...}

Parameters

ProtocolBindingContext

A handle to a context area allocated by the protocol driver. The driver maintains the per binding context information in this context area. The driver supplied this handle to NDIS when the driver called the NdisOpenAdapterEx function.

OffloadBlockList

A pointer to an NDIS_PROTOCOL_OFFLOAD_BLOCK_LIST structure that can be a stand-alone structure or the root of a linked list of such structures. These structures identify the state that was offloaded or that was attempted to be offloaded.

Return Value

None

Remarks

In response to an underlying offload target's or intermediate driver's call to the NdisMInitiateOffloadComplete function, NDIS calls the overlying protocol's or intermediate driver's

<i>ProtocolInitiateOffloadComplete</i> function.

An intermediate driver must propagate the completion of the initiate offload operation to the driver above it by calling NdisMInitiateOffloadComplete. For more information, see Propagating the Completion of a State-Manipulation Operation.

From the NDIS_PROTOCOL_OFFLOAD_BLOCK_LIST structure that was passed to its ProtocolInitiateOffloadComplete function, the intermediate driver constructs an NDIS_MINIPORT_OFFLOAD_BLOCK_LIST structure. For more information, see Reusing an NDIS_PROTOCOL_OFFLOAD_BLOCK_LIST Structure. When calling the NdisMInitiateOffloadComplete function, the intermediate driver passes a pointer (the OffloadBlockList parameter) to this newly constructed NDIS_MINIPORT_OFFLOAD_BLOCK_LIST structure.

Requirements

   
Target Platform Windows
Header ndischimney.h (include Ndischimney.h)

See Also

MiniportInitiateOffload

NDIS_MINIPORT_OFFLOAD_BLOCK_LIST NDIS_PROTOCOL_OFFLOAD_BLOCK_LIST

NdisInitiateOffload

NdisMInitiateOffloadComplete

NdisOpenAdapterEx