W_INVALIDATE_OFFLOAD_HANDLER callback function (ndischimney.h)

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

The MiniportInvalidateOffload function invalidates previously offloaded TCP chimney state objects.

Syntax

W_INVALIDATE_OFFLOAD_HANDLER WInvalidateOffloadHandler;

void WInvalidateOffloadHandler(
  [in] IN NDIS_HANDLE MiniportAdapterContext,
  [in] IN PNDIS_MINIPORT_OFFLOAD_BLOCK_LIST OffloadBlockList
)
{...}

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 offload target provided this handle to NDIS when it called NdisMSetMiniportAttributes from its MiniportInitializeEx function.

[in] OffloadBlockList

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 object that is being invalidated.

Return value

None

Remarks

The MiniportInvalidateOffload function stores the OffloadBlockList pointer and then returns. The offload target always completes the invalidate operation asynchronously by calling NdisMInvalidateOffloadComplete.

The tree passed to the MiniportInvalidateOffload function contains only NDIS_MINIPORT_OFFLOAD_BLOCK_LIST structures. The tree does not contain any offload state structures. That is, there are no such structures following the NDIS_MINIPORT_OFFLOAD_BLOCK_LIST structures in memory.

The NDIS_MINIPORT_OFFLOAD_BLOCK_LIST structures in the tree indicate the state object to be invalidated. A non-NULL *MiniportOffloadContext member points to a memory location containing a PVOID value that was supplied by the offload target when the state object was offloaded. For more information, see Storing and Referencing Offloaded State. This PVOID value references the miniport offload context in which the offload target stores the state object to be invalidated.

For information about an offload target's treatment of invalidated state objects, see Treatment of Invalidated State Objects.

Eventually, the host stack will terminate the offload of the invalidated state object. However, until that time, the offload target owns the invalidated state object. The offload target must not free the resources for the invalidated state object until the host stack has terminated the offload of that state object. The offload target must not use the invalidated state object or any TCP connections that depend on that state object for sending data.

Requirements

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

See also

MiniportInitializeEx

NDIS_MINIPORT_OFFLOAD_BLOCK_LIST NdisMInvalidateOffloadComplete

NdisMSetMiniportAttributes