// 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
No description available.
[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.
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:
Specifies that the offload target perform an abortive disconnect by sending an RST segment.
Specifies that the offload target perform a graceful disconnect by sending a FIN segment.
The NdisOffloadTcpDisconnect function always returns NDIS_STATUS_PENDING. The disconnect operation is always completed asynchronously.
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.
NdisTcpOffloadDisconnectComplete
ProtocolTcpOffloadDisconnectComplete