NdisOffloadTcpDisconnect-Funktion (ndischimney.h)

[Das TCP-Chimney-Auslagerungsfeature ist veraltet und sollte nicht verwendet werden.]

Ein Protokoll- oder Zwischentreiber ruft die NdisOffloadTcpDisconnect-Funktion auf, um die Sendehälfte einer entladenen TCP-Verbindung zu schließen. Wenn es sich bei der durchzuführenden Trennung um eine ordnungsgemäße Trennung handelt, kann der Protokoll- oder Zwischentreiber Außerdem Anwendungsdaten bereitstellen, die das zugrunde liegende Auslagerungsziel auf die entladene TCP-Verbindung übertragen muss, bevor ein FIN-Segment gesendet wird.

Syntax

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

Parameter

[in] NdisOffloadHandle

Ein Zeiger auf eine NDIS_OFFLOAD_HANDLE Struktur im Kontext des Aufrufers für die entladene TCP-Verbindung. Weitere Informationen finden Sie unter Verweisen auf den ausgeladenen Zustand über einen Zwischentreiber.

[in] NetBufferList

Ein Zeiger auf eine einzelne NET_BUFFER_LIST-Struktur . Dieser NET_BUFFER_LIST-Struktur ist nur eine NET_BUFFER Struktur zugeordnet.

[in] Flags

Als einer der folgenden Werte gilt der Typ der durchzuführenden Trennung:

TCP_DISCONNECT_ABORTIVE_CLOSE

Gibt an, dass das Auslagerungsziel eine abgebrochene Trennung durch Senden eines RST-Segments ausführt.

TCP_DISCONNECT_GRACEFUL_CLOSE

Gibt an, dass das Auslagerungsziel eine ordnungsgemäße Trennung durchführt, indem ein FIN-Segment gesendet wird.

Rückgabewert

Die Funktion NdisOffloadTcpDisconnect gibt immer NDIS_STATUS_PENDING zurück. Der Verbindungsvorgang wird immer asynchron abgeschlossen.

Hinweise

Als Reaktion auf einen Aufruf an MiniportTcpOffloadDisconnect-Funktion , ein Zwischentreiber ruft die NdisOffloadTcpDisconnect-Funktion auf, um den Trennungsvorgang an den zugrunde liegenden Zwischentreiber oder das Ziel zu verteilen. Weitere Informationen finden Sie unter Verteilen von E/A-Vorgängen.

An die NdisOffloadTcpXxx-Funktion übergibt der zwischengeschaltete Treiber Folgendes:

  • Eine NdisOffloadHandle-Funktion , die auf die NDIS_OFFLOAD_HANDLE Struktur verweist, die im Kontext des Zwischentreibers für die entladene TCP-Verbindung gespeichert ist. Weitere Informationen finden Sie unter Verweisen auf den ausgeladenen Zustand über einen Zwischentreiber.
  • Derselbe PNET_BUFFER_LIST Zeiger, den NDIS an die MiniportTcpOffloadDisconnect-Funktion des Zwischentreibers übergeben hat.
  • Dieselben Flags , die NDIS an die MiniportTcpOffloadDisconnect-Funktion des zwischengeschalteten Treibers übergeben hat.
Wenn der zugrunde liegende Treiber oder das Entladungsziel anschließend den Verbindungsvorgang durch Aufrufen der Funktion NdisTcpOffloadDisconnectComplete abschließt, ruft NDIS die ProtocolOffloadDisconnectComplete-Funktion des Zwischentreibers auf. Der Zwischentreiber ruft dann die Funktion NdisTcpOffloadDisconnectComplete auf, um den Abschluss des Verbindungsvorgangs zu verteilen.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header ndischimney.h (include Ndischimney.h)
Bibliothek Ndis.lib

Weitere Informationen

MiniportTcpOffloadDisconnect

NDIS_OFFLOAD_HANDLE

NET_BUFFER

NET_BUFFER_LIST

NdisTcpOffloadDisconnectComplete ProtocolTcpOffloadDisconnectComplete