NdisMGetOffloadHandlers-Funktion (ndischimney.h)

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

Diese Funktion ruft die Einstiegspunkte der NDIS-Funktionen für einen bestimmten Schornsteintyp ab.

Syntax

NDIS_STATUS NdisMGetOffloadHandlers(
  [in]  IN NDIS_HANDLE                   NdisMiniportHandle,
  [in]  IN NDIS_CHIMNEY_OFFLOAD_TYPE     ChimneyType,
  [out] OUT PNDIS_OFFLOAD_EVENT_HANDLERS *OffloadHandlers
);

Parameter

[in] NdisMiniportHandle

Das Handle für einen Kontextbereich, der zielseitig zugeordnet ist, in dem das Auslagerungsziel Zustandsinformationen zu diesem instance des Adapters verwaltet. Das Auslagerungsziel hat dieses Handle beim Aufrufen von NDIS bereitgestellt. NdisMSetMiniportAttributes aus MiniportInitializeEx-Funktion .

[in] ChimneyType

Ein Schornsteintyp, der einer der folgenden NDIS_CHIMNEY_OFFLOAD_TYPE Werte ist:

NdisTcpChimneyOffload

Der TCP-Schornstein-Abladetyp.

Alle anderen NDIS_CHIMNEY_OFFLOAD_TYPE Werte sind derzeit reserviert.

[out] OffloadHandlers

Ein Zeiger auf eine Variable, die vom Auslagerungsziel bereitgestellt wird. Die Größe dieser Variablen ist sizeof(PNDIS_OFFLOAD_EVENT_HANDLERS). Wenn der Aufruf der NdisMGetOffloadHandlers-Funktion erfolgreich ist, gibt die Funktion in dieser Variablen einen Zeiger auf eine NDIS_OFFLOAD_EVENT_HANDLERS-Struktur zurück. Diese Struktur dient als Header für die schornsteinspezifische Struktur, die die Einstiegspunkte enthält. Die NDIS_OFFLOAD_EVENT_HANDLERS-Struktur ist wie folgt formatiert:

typedef struct _NDIS_OFFLOAD_EVENT_HANDLERS {
  NDIS_OBJECT_HEADER  Header;
} NDIS_OFFLOAD_EVENT_HANDLERS, *PNDIS_OFFLOAD_EVENT_HANDLERS;

Diese Struktur enthält das folgende Element:

Gibt einen NDIS-Objektheader an, der als NDIS_OBJECT_HEADER-Struktur formatiert ist.

Rückgabewert

NdisMGetOffloadHandlers können eine der folgenden Elemente zurückgeben:

Rückgabecode Beschreibung
STATUS_SUCCESS
Der Aufruf war erfolgreich. Die zurückgegebenen NDIS-Einstiegspunkte sind für den angegebenen Schornsteintyp gültig.
STATUS_NOT_SUPPORTED
NDIS unterstützt nicht den vom Auslagerungsziel angegebenen Schornsteintyp. In diesem Fall gibt NDIS keinen gültigen OffloadHandlers-Zeiger zurück.

Hinweise

Das Auslagerungsziel ruft diese Funktion über seine MiniportInitializeEx-Funktion auf, um die Einstiegspunkte der NDIS-Funktionen für einen bestimmten Schornsteintyp abzurufen. Das Auslagerungsziel ruft NdisMGetOffloadHandlers einmal für jeden unterstützten Schornsteintyp auf. In jedem Aufruf gibt das Auslagerungsziel einen anderen Schornsteintyp an.

Wenn der Aufruf der NdisMGetOffloadHandlers-Funktion erfolgreich ist, stellt NDIS einen gültigen OffloadHandlers-Zeiger bereit, der auf eine NDIS_OFFLOAD_EVENT_HANDLERS Struktur verweist. Diese Struktur enthält eine NDIS_OBJECT_HEADER-Struktur . Das Auslagerungsziel untersucht die Elemente Type, Revision und Size der NDIS_OBJECT_HEADER-Struktur. Diese Member geben die Struktur an, die die schornsteinspezifischen Einstiegspunkte, die Revisionsnummer dieser Struktur und die Größe dieser Struktur in Bytes enthält. Der Type-Wert ist derselbe Wert, den das Auslagerungsziel für den ChimneyType-Parameter angegeben hat.

Wenn das Auslagerungsziel die angegebene Revisionsnummer unterstützt, wandelt es den OffloadHandlers-Zeiger in einen Zeiger auf den entsprechenden schornsteinspezifischen Strukturtyp um. In der folgenden Tabelle ist die schornsteinspezifische Struktur für jeden Schornsteintyp angegeben.

ChimneyType Schornsteinspezifische Handlerstruktur
NdisTcpChimneyOffload NDIS_TCP_OFFLOAD_EVENT_HANDLERS
 

Beispiel: Für den Chimneytyp NdisTcpChimneyOffload wandelt das Auslagerungsziel den OffloadHandlers-Zeiger auf *PNDIS_TCP_OFFLOAD_EVENT_HANDLERS um.

Die Schornstein-spezifischen Handlerstruktur enthält dieselbe NDIS_OBJECT_HEADER-Struktur wie die NDIS_OFFLOAD_EVENT_HANDLERS-Struktur.

Das Auslagerungsziel kopiert die Einstiegspunkte aus der schornsteinspezifischen Struktur in eine eigene interne Datenstruktur und gibt dann zurück.

Anforderungen

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

Weitere Informationen

MiniportInitializeEx

NDIS_OBJECT_HEADER

NDIS_TCP_OFFLOAD_EVENT_HANDLERS

NdisMSetMiniportAttributes