MiniportInvalidateOffload routine

The MiniportInvalidateOffload function invalidates previously offloaded TCP chimney state objects.

Syntax


W_INVALIDATE_OFFLOAD_HANDLER MiniportInvalidateOffload;

VOID MiniportInvalidateOffload(
  _In_  NDIS_HANDLE MiniportAdapterContext,
  _In_  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]

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

Header

Ndischimney.h (include Ndischimney.h)

IRQL

Any level

See also

MiniportInitializeEx
NDIS_MINIPORT_OFFLOAD_BLOCK_LIST
NdisMSetMiniportAttributes
NdisMInvalidateOffloadComplete

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft