MiniportTerminateOffload routine

The MiniportTerminateOffload function terminates the offload of one or more state objects.

Syntax


W_TERMINATE_OFFLOAD_HANDLER MiniportTerminateOffload;

VOID MiniportTerminateOffload(
  _In_     NDIS_HANDLE MiniportAdapterContext,
  _Inout_  PNDIS_MINIPORT_OFFLOAD_BLOCK_LIST OffloadBlockList
)
{ ... }

Parameters

MiniportAdapterContext [in]

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

OffloadBlockList [in, out]

A pointer to an NDIS_MINIPORT_OFFLOAD_BLOCK_LIST structure, which can be the root of a linked list of such structures. These structures identify the offloaded state objects that are being terminated.

Return value

None

Remarks

The MiniportTerminateOffload function stores the OffloadBlockList pointer and then returns. The offload target always completes the terminate operation asynchronously by calling the NdisMTerminateOffloadComplete function.

The OffloadBlockList pointer points to an NDIS_MINIPORT_OFFLOAD_BLOCK_LIST structure that can be either a stand-alone structure or the root block list in an offload state tree that contains multiple NDIS_MINIPORT_OFFLOAD_BLOCK_LIST structures. Such block lists, as well as any offload state structures that are associated with them, are valid until the miniport driver calls the NdisMTerminateOffloadComplete function.

Each NDIS_MINIPORT_OFFLOAD_BLOCK_LIST structure can be immediately followed in memory by a delegated state structure (XXX_OFFLOAD_STATE_DELEGATED). The offload target copies delegated variable values into the delegated state structures supplied by the host stack.

The host stack will not request the termination of the offload of a TCP connection until both of the following conditions are met:

  • All the outstanding invalidate, query, and update requests pertaining to that connection have completed.

  • All outstanding receive and disconnect calls have returned.

Requirements

Header

Ndischimney.h (include Ndischimney.h)

IRQL

Any level

See also

MiniportInitializeEx
NDIS_MINIPORT_OFFLOAD_BLOCK_LIST
NdisMSetMiniportAttributes
NdisMTerminateOffloadComplete
TCP_OFFLOAD_STATE_DELEGATED

 

 

Send comments about this topic to Microsoft

Mostra:
© 2015 Microsoft