NdisMTerminateOffloadComplete - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// ndischimney.h

VOID NdisMTerminateOffloadComplete(
  [in] IN NDIS_HANDLE                       NdisMiniportHandle,
  [in] IN PNDIS_MINIPORT_OFFLOAD_BLOCK_LIST OffloadBlockList
);

View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (nf-ndischimney-ndismterminateoffloadcomplete)

NdisMTerminateOffloadComplete function

Description

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

An offload target calls the NdisMTerminateOffloadComplete function to complete a terminate offload operation that was initiated by a previous call to the MiniportTerminateOffload function of the offload target.

Parameters

NdisMiniportHandle [in]

The handle that the offload target obtained in a previous call to NdisMRegisterMiniportDriver.

OffloadBlockList [in]

A pointer to an NDIS_MINIPORT_OFFLOAD_BLOCK_LIST structure. The offload target obtained this pointer as an input parameter to its MiniportTerminateOffload function.

Remarks

Before calling the NdisMTerminateOffloadComplete function, the offload target must write either of the following NDIS_STATUS values to the Status member of each NDIS_MINIPORT_OFFLOAD_BLOCK_LIST structure in the state tree:

Before calling the NdisMTerminateOffloadComplete function, the offload target must also:

If there is outstanding send data on a TCP connection that is being terminated, the offload target packages such data in net buffers and passes the packaged data to the host stack in a linked list of NET_BUFFER_LIST structures. In this case, the offload target specifies a non-NULL value for the NetBufferListChain member of the NDIS_MINIPORT_OFFLOAD_BLOCK_LIST structure for that connection. (The NDIS_MINIPORT_OFFLOAD_BLOCK_LIST structure is in the linked list pointed to by the OffloadBlockList pointer.) The NetBufferListChain member points to the linked list of NET_BUFFER_LIST structures with which the send data is associated.

When passing outstanding send data to the host stack, the offload target must also specify non-NULL values for the following delegated TCP variables for the connection that is being terminated:

For more information about passing outstanding send data, see Handling Outstanding Send Data During and After an Offload Operation.

If there is no outstanding send data on a TCP connection that is being terminated, the offload target must specify a NULL value for the NetBufferListChain member.

There might be outstanding receive data on a TCP connection that is being uploaded. This is data that the offload target has received off the wire, processed, and acknowledged. For more information about processing such data, see Handling Buffered Receive Data During a Terminate Offload Operation.

The offload target frees all resources, such as memory, that are associated with the terminated state objects.

See also

MiniportTerminateOffload

NDIS_MINIPORT_OFFLOAD_BLOCK_LIST

NdisMRegisterMiniportDriver

TCP_OFFLOAD_STATE_DELEGATED