NdisOffloadTcpDisconnect - NtDoc

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

NDIS_STATUS NdisOffloadTcpDisconnect(
  [in] IN PNDIS_OFFLOAD_HANDLE NdisOffloadHandle,
  [in] IN PNET_BUFFER_LIST     NetBufferList,
  [in] IN ULONG                Flags
);

View the official Windows Driver Kit DDI reference

NtDoc

No description available.

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

NdisOffloadTcpDisconnect function

Description

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

A protocol or intermediate driver calls the NdisOffloadTcpDisconnect function to close the send half of an offloaded TCP connection. In addition, if the disconnect to be performed is a graceful disconnect, the protocol or intermediate driver can supply application data that the underlying offload target must transmit on the offloaded TCP connection before it sends a FIN segment.

Parameters

NdisOffloadHandle [in]

A pointer to an NDIS_OFFLOAD_HANDLE structure in the caller's context for the offloaded TCP connection. For more information, see Referencing Offloaded State Through an Intermediate Driver.

NetBufferList [in]

A pointer to a single NET_BUFFER_LIST structure. Only one NET_BUFFER structure is associated with this NET_BUFFER_LIST structure.

Flags [in]

As one of the following values, the type of disconnect to be performed:

TCP_DISCONNECT_ABORTIVE_CLOSE

Specifies that the offload target perform an abortive disconnect by sending an RST segment.

TCP_DISCONNECT_GRACEFUL_CLOSE

Specifies that the offload target perform a graceful disconnect by sending a FIN segment.

Return value

The NdisOffloadTcpDisconnect function always returns NDIS_STATUS_PENDING. The disconnect operation is always completed asynchronously.

Remarks

In response to a call to its MiniportTcpOffloadDisconnect function, an intermediate driver calls the NdisOffloadTcpDisconnect function to propagate the disconnect operation to the underlying intermediate driver or offload target. For more information, see Propagating I/O Operations.

To the NdisOffloadTcp*Xxx* function, the intermediate driver passes the following:

When the underlying driver or offload target subsequently completes the disconnect operation by calling the NdisTcpOffloadDisconnectComplete function, NDIS calls the intermediate driver's ProtocolOffloadDisconnectComplete function. The intermediate driver then calls the NdisTcpOffloadDisconnectComplete function to propagate the completion of the disconnect operation.

See also

MiniportTcpOffloadDisconnect

NDIS_OFFLOAD_HANDLE

NET_BUFFER

NET_BUFFER_LIST

NdisTcpOffloadDisconnectComplete

ProtocolTcpOffloadDisconnectComplete