Freigeben über


W_INITIATE_OFFLOAD_HANDLER Rückruffunktion (ndischimney.h)

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

MiniportInitiateOffload entlädt den TCP-Schornsteinzustand vom Hoststapel.

Syntax

W_INITIATE_OFFLOAD_HANDLER WInitiateOffloadHandler;

void WInitiateOffloadHandler(
  [in]      IN NDIS_HANDLE MiniportAdapterContext,
  [in, out] IN OUT PNDIS_MINIPORT_OFFLOAD_BLOCK_LIST OffloadBlockList
)
{...}

Parameter

[in] MiniportAdapterContext

Das Handle für einen kontextbezogenen Ablagezielbereich, in dem das Auslagerungsziel Zustandsinformationen zu diesem instance des Adapters verwaltet. Der Miniporttreiber hat dieses Handle für NDIS bereitgestellt, wenn er aufgerufen hat. NdisMSetMiniportAttributes aus MiniportInitializeEx-Funktion .

[in, out] OffloadBlockList

Ein Zeiger auf eine NDIS_MINIPORT_OFFLOAD_BLOCK_LIST Struktur, die eine eigenständige Struktur oder der Stamm einer verknüpften Liste solcher Strukturen sein kann.

Rückgabewert

Keine

Bemerkungen

Die MiniportInitiateOffload-Funktion speichert den Zeiger OffloadBlockList und gibt dann zurück. Das Auslagerungsziel schließt den Auslagerungsvorgang immer asynchron ab, indem es aufruft. NdisMInitiateOffloadComplete. Die Zustandsstruktur, auf die der OffloadBlockList-Zeiger verweist, ist gültig, bis der Miniporttreiber NdisMInitiateOffloadComplete aufruft.

Nach der Rückgabe von der MiniportInitiateOffload-Funktion wird der Zustand des Offloadziels aus der Zustandsstruktur ausgelagert. Einer NDIS_MINIPORT_OFFLOAD_BLOCK_LIST-Struktur, deren MiniportOffloadContext-Member auf einen Speicherort verweist, der einen NULL-Wert enthält, folgt der auszuladende Zustand. Weitere Informationen finden Sie unter Speichern und Verweisen auf den ausgeladenen Zustand. Der Headermember einer NDIS_MINIPORT_OFFLOAD_BLOCK_LIST-Struktur enthält einen Typmember , der den Typ des Auslagerungszustands und implizit die Struktur oder Strukturen des Auslagerungszustands angibt, die unmittelbar der NDIS_MINIPORT_OFFLOAD_BLOCK_LIST Struktur im Arbeitsspeicher folgen.

Das Auslagerungsziel entlädt den einer NDIS_MINIPORT_OFFLOAD_BLOCK_LIST-Struktur zugeordneten Auslagerungszustand in einen Offload-Kontextbereich. Weitere Informationen finden Sie unter Speichern und Verweisen auf den ausgeladenen Zustand.

Beim Auslagern des Zustands muss das Auslagerungsziel die Zustandsstruktur in der Tiefen-Zuerst-/Breite-Weiter-Weise durchlaufen. Es ist wichtig, dass ein Auslagerungsziel den Zustand auf diese Weise auslädt.

Einige der NDIS_MINIPORT_OFFLOAD_BLOCK_LIST Strukturen in der Zustandsstruktur, die an die MiniportInitiateOffload-Funktion übergeben werden, können Platzhalter oder Verknüpfungsknoten sein, die keinen begleitenden Zustand haben, der ausgeladen werden soll. Weitere Informationen finden Sie unter Platzhalter, Linker und Neue Auslagerungen.

Das Auslagerungsziel kann gepufferte Daten vom Hoststapel für eine Verbindung empfangen, die ausgeladen wird. Das Auslagerungsziel muss diese Daten vor Abschluss des Auslagerungsvorgangs in einen eigenen Puffer kopieren. Weitere Informationen zur Verarbeitung gepufferter Empfangsdaten finden Sie unter Behandeln gepufferter Empfangsdaten während und nach einem Auslagerungsvorgang.

Für jedes Zustandsobjekt, das es auslädt, muss das Auslagerungsziel auch einen PVOID-Wert bereitstellen, der auf den Abladekontextbereich verweist, in dem das Auslagerungsziel das Zustandsobjekt speichert. Das Auslagerungsziel schreibt diesen PVOID-Wert in den Speicherort, auf den der *MiniportOffloadContext-Member der NDIS_MINIPORT_OFFLOAD_BLOCK_LIST Struktur verweist, die dem Zustand zugeordnet ist. Wenn das Auslagerungsziel den zustand, der der NDIS_MINIPORT_OFFLOAD_BLOCK_LIST-Struktur zugeordnet ist, nicht erfolgreich ausgelagert hat, sollte es keinen Wert in den Speicherspeicherort schreiben, auf den der *MiniportOffloadContext-Member verweist. Weitere Informationen finden Sie unter Speichern und Verweisen auf den ausgeladenen Zustand.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile ndischimney.h (include Ndischimney.h)
IRQL Beliebige Ebene

Weitere Informationen

MiniportInitializeEx

NDIS_MINIPORT_OFFLOAD_BLOCK_LIST

NdisMInitiateOffloadComplete

NdisMSetMiniportAttributes