Freigeben über


NDIS_TCP_OFFLOAD_DISCONNECT_COMPLETE Rückruffunktion (ndischimney.h)

[Das TCP-Schornstein-Offload-Feature ist veraltet und sollte nicht verwendet werden.]

Ein Offloadziel ruft die NdisTcpOffloadDisconnectComplete--Funktion auf, um eine Verbindungsanforderung abzuschließen, die von einem vorherigen Aufruf an den MiniportTcpOffloadDisconnect Funktion des Offload-Ziels.

Syntax

NDIS_TCP_OFFLOAD_DISCONNECT_COMPLETE NdisTcpOffloadDisconnectComplete;

void NdisTcpOffloadDisconnectComplete(
  [in] IN NDIS_HANDLE NdisMiniportHandle,
  [in] IN PNET_BUFFER_LIST NetBufferList
)
{...}

Parameter

[in] NdisMiniportHandle

Das Handle, das das Offloadziel in einem vorherigen Aufruf des NdisMRegisterMiniportDriver Funktion.

[in] NetBufferList

Ein Zeiger auf eine einzelne NET_BUFFER_LIST Struktur. Das Offload-Ziel hat diesen Zeiger als Eingabeparameter auf seine MiniportTcpOffloadDisconnect Funktion.

Rückgabewert

Nichts

Bemerkungen

Abschließen einer abgebrochenen Verbindung

Wenn das Offload-Ziel eine abgebrochene Verbindung ausgegeben hat, muss dies vor dem Aufrufen der funktion NdisTcpOffloadDisconnectComplete ausgeführt werden:

  • Schließen Sie alle ausstehenden Sendeanforderungen für die Verbindung mit einem Statuswert von NDIS_STATUS_REQUEST_ABORTED ab. Das Offloadziel schreibt diesen Statuswert in den Status Member jeder NET_BUFFER_LIST Struktur in der verknüpften Liste, die an die verknüpfte Liste übergeben wird. NdisTcpOffloadSendComplete Funktion.
  • Schreiben Sie einen Statuswert in das Status- Member der NET_BUFFER_LIST Struktur, auf das durch den NetBufferList Zeiger verwiesen wird. Ein Statuswert von NDIS_STATUS_SUCCESS gibt an, dass das Offloadziel erfolgreich das RST-Segment gesendet hat. Eine Beschreibung der zulässigen Statuswerte finden Sie unter NET_BUFFER_LIST.
Abschließen einer ordnungsgemäßen Verbindung

Bevor Sie eine ordnungsgemäß getrennte Anforderung abschließen, muss das Offloadziel:

  • Schreiben eines Statuswerts in das Status- Mitglied der NET_BUFFER_LIST Struktur, die an die NET_BUFFER_LIST übergeben wird NdisTcpOffloadDisconnectComplete-Funktion:
    • Ein Wert von NDIS_STATUS_SUCCESS gibt an, dass das FIN-Segment sowie alle Benutzerdaten erfolgreich vom Offloadziel gesendet wurden und auch vom Remotehost bestätigt wurden.
    • Ein Wert von NDIS_STATUS_UPLOAD_IN_PROGRESS gibt an, dass die TCP-Verbindung, auf die von NdisMiniportHandle verwiesen wird, hochgeladen wird.
    • Ein Wert von NDIS_STATUS_REQUEST_ABORTED gibt an, dass das FIN-Segment und/oder benutzerdaten vom Offloadziel nicht erfolgreich übertragen und vom Remotehost bestätigt wurden. Der Hoststapel beendet schließlich das Entladen der TCP-Verbindung.
  • Geben Sie die Anzahl der Gesendeten und erfolgreich bestätigten Benutzerdatenbytes an. Das Offload-Ziel führt dies durch Aufrufen des NET_BUFFER_LIST_INFO Makros mit einer ID von TcpOffloadBytesTransferred.
  • Rufen Sie die NdisAdvanceNetBufferDataStart Funktion. Der NetBufferList--Parameter sollte auf die NET_BUFFER Struktur verweisen, die der NET_BUFFER_LIST Struktur zugeordnet ist, die das Offloadziel an die NdisTcpOffloadDisconnectComplete--Funktion übergibt. Der parameter DataOffsetDelta sollte die Anzahl der Datenbytes aus der NET_BUFFER Struktur angeben, die sowohl vom Offloadziel übertragen als auch vom Remotehost erfolgreich bestätigt wurden. Der parameter FreeMdl sollte NULL-sein.
Beachten Sie, dass die NdisTcpOffloadDisconnectComplete--Funktion nur die NET_BUFFER_LIST Struktur und zugeordnete Strukturen zurückgibt, die NDIS an die Offloadziels übergeben hat. MiniportTcpOffloadDisconnect Funktion. Die NdisTcpOffloadDisconnectComplete--Funktion kann NET_BUFFER_LIST Strukturen, die NDIS in vorherigen Aufrufen an das Offloadziel übergeben hat, nicht zurückgeben. MiniportTcpOffloadSend Funktion.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Header- ndischimney.h (include Ndischimney.h)

Siehe auch

MiniportTcpOffloadDisconnect

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

NdisAdvanceNetBufferDataStart-

NdisMRegisterMiniportDriver-

NdisTcpOffloadSendComplete