NdisMTerminateOffloadComplete-Funktion (ndischimney.h)
[Das TCP-Schornstein-Offload-Feature ist veraltet und sollte nicht verwendet werden.]
Ein Offload-Ziel ruft die NdisMTerminateOffloadComplete--Funktion auf, um einen Beendigungs-Offload-Vorgang abzuschließen, der durch einen vorherigen Aufruf an den MiniportTerminateOffload Funktion des Offload-Ziels.
Syntax
void NdisMTerminateOffloadComplete(
[in] IN NDIS_HANDLE NdisMiniportHandle,
[in] IN PNDIS_MINIPORT_OFFLOAD_BLOCK_LIST OffloadBlockList
);
Parameter
[in] NdisMiniportHandle
Das Handle, das das Offloadziel in einem vorherigen Aufruf erhalten hat NdisMRegisterMiniportDriver.
[in] OffloadBlockList
Ein Zeiger auf einen NDIS_MINIPORT_OFFLOAD_BLOCK_LIST Struktur. Das Offload-Ziel hat diesen Zeiger als Eingabeparameter auf seine MiniportTerminateOffload Funktion.
Rückgabewert
Nichts
Bemerkungen
Vor dem Aufrufen der NdisMTerminateOffloadComplete--Funktion muss das Offloadziel einen der folgenden NDIS_STATUS Werte in das Status-element jeder NDIS_MINIPORT_OFFLOAD_BLOCK_LIST Struktur in der Zustandsstruktur schreiben:
-
NDIS_STATUS_SUCCESS
Das Offload-Ziel beendete erfolgreich den Offload des Zustandsobjekts, auf das durch die NDIS_MINIPORT_OFFLOAD_BLOCK_LIST-Struktur verwiesen wird. Wenn auf die NDIS_MINIPORT_OFFLOAD_BLOCK_LIST Struktur eine delegierte Zustandsstruktur folgt (XXX_OFFLOAD_STATE_DELEGATED), hat das Offloadziel erfolgreich die delegierten Variablenwerte für dieses Zustandsobjekt in die delegierte Zustandsstruktur geschrieben.
-
NDIS_STATUS_FAILURE
Der Beendigungsvorgang wurde nicht erfolgreich ausgeführt. Ein solcher Fehler wird durch einen katastrophalen Fehler verursacht, der zum Verlust des Zustandsobjekts führte, das beendet werden sollte. In diesem Fall reagiert die Zielhardware möglicherweise nicht. Möglicherweise muss der Hoststapel die Verbindung abbrechen.
- Schließen Sie alle ausstehenden Aufrufe an die MiniportInvalidateOffload, MiniportQueryOffload, MiniportTcpOffloadReceive, MiniportTcpOffloadDisconnect, MiniportTcpOffloadForward, MiniportTcpOffloadSendund MiniportUpdateOffload Funktionen.
- Stellen Sie sicher, dass alle ausstehenden Aufrufe an die NdisMIndicateStatusEx, NdisMOffloadEventIndicate, NdisTcpOffloadEventHandlerund NdisTcpOffloadReceiveHandler Funktionen zurückgegeben wurden.
Wenn ausstehende Sendedaten an den Hoststapel übergeben werden, muss das Offloadziel auch werte ohneNULL- für die folgende delegierte TCP-Variablen für die beendete Verbindung angeben:
- SndUna
- SndNxt
- SndMax
Wenn keine ausstehenden Sendedaten für eine TCP-Verbindung vorhanden sind, die beendet wird, muss das Offloadziel einen NULL- Wert für den NetBufferListChain Member angeben.
Möglicherweise gibt es ausstehende Empfangsdaten in einer TCP-Verbindung, die hochgeladen wird. Dies sind Daten, die das Offloadziel von der Leitung, Verarbeitung und Bestätigung erhalten hat. Weitere Informationen zur Verarbeitung solcher Daten finden Sie unter Behandeln von gepufferten Empfangendaten während eines Beenden-Offload-Vorgangs.
Das Offloadziel gibt alle Ressourcen frei, z. B. Arbeitsspeicher, die den beendeten Zustandsobjekten zugeordnet sind.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Header- | ndischimney.h (include Ndischimney.h) |
IRQL- | Beliebige Ebene |