Freigeben über


OID_OFFLOAD_ENCAPSULATION

Als Abfrageanforderung verwenden überlagernde Treiber die OID_OFFLOAD_ENCAPSULATION OID, um die aktuellen Kapselungseinstellungen für die Taskauslagerung eines zugrunde liegenden Miniportadapters abzurufen. NDIS verarbeitet diese OID-Abfrage für Miniporttreiber.

Als festgelegte Anforderung verwenden überlagernde Treiber die OID_OFFLOAD_ENCAPSULATION OID, um die Kapselungseinstellungen eines zugrunde liegenden Miniportadapters festzulegen. Miniporttreiber, die die Aufgabenauslagerung unterstützen, müssen diese Anforderung für OID-Mengen verarbeiten.

Bemerkungen

Das InformationBuffer-Element der NDIS_OID_REQUEST-Struktur enthält eine NDIS_OFFLOAD_ENCAPSULATION-Struktur .

Miniport-Treiber

Wenn ein Miniporttreiber das Auslagern und diese OID nicht unterstützt, sollte der Treiber NDIS_STATUS_NOT_SUPPORTED zurückgeben.

Miniport-Treiber müssen den Inhalt der NDIS_OFFLOAD_ENCAPSULATION-Struktur verwenden, um die aktuell gemeldeten TCP-Auslagerungsfunktionen zu aktualisieren. Nach dem Update muss der Miniporttreiber die aktuellen Aufgabenauslagerungsfunktionen mit der NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG status Anzeigen melden. Dadurch status Angabe wird sichergestellt, dass alle übergeordneten Protokolltreiber mit den neuen Funktionsinformationen aktualisiert werden.

Diese OID wird verwendet, um alle konfigurierten oder aktivierten Auslagerungen zu aktivieren oder alle Auslagerungen zu deaktivieren (mit anderen Worten, die Hardware beginnt, die Auslagerungen auszuführen). Es bietet keine feine Kontrolle über einzelne Auslagerungen. Stattdessen wird OID_TCP_OFFLOAD_PARAMETERS verwendet, um einzelne Auslagerungen zu konfigurieren und sie auch zu aktivieren. Im Allgemeinen können die meisten TCP/IP-Aufgabenauslagerungen mit OID_TCP_OFFLOAD_PARAMETERS konfiguriert und aktiviert werden.

Die NDIS_OFFLOAD_ENCAPSULATION-Struktur dieser OID deckt jedoch auch zwei andere Kapselungstypen ab, die nicht von der NDIS_OFFLOAD_PARAMETERS-Struktur des OID_TCP_OFFLOAD_PARAMETERS abgedeckt werden: NDIS_ENCAPSULATION_IEEE_802_3 und NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED. Miniporttreiber müssen diesen Unterschied in den Kapselungstypen verarbeiten, die von den verschiedenen OIDs abgedeckt werden.

Wenn diese OID vom Protokolltreiber ausgegeben wird, um alle Auslagerungen zu deaktivieren, wird das Element Enabled des NDIS_OFFLOAD_ENCAPSULATION-Members auf NDIS_OFFLOAD_SET_OFF festgelegt.

Festlegen der Kapselung (Protokolltreiber)

Protokolltreiber legen OID_OFFLOAD_ENCAPSULATION nach dem Bestimmen der Systemkapselungsanforderungen fest. Ein Protokolltreiber kann die Funktionen des zugrunde liegenden Miniportadapters anhand der NDIS_BIND_PARAMETERS-Struktur oder durch Abfragen OID_TCP_OFFLOAD_CURRENT_CONFIG ermitteln. Der Protokolltreiber muss einen Kapselungstyp festlegen, den der Miniportadapter für mindestens einen Auslagerungsdienst unterstützt.

Wenn ein Miniporttreiber einen Beliebigen Auslagerungstyp unterstützt, der den angeforderten Kapselungstyp unterstützt, muss der Treiber NDIS_STATUS_SUCCESS als Reaktion auf eine Reihe von OID_OFFLOAD_ENCAPSULATION zurückgeben. Andernfalls sollte der Miniporttreiber NDIS_STATUS_INVALID_PARAMETER zurückgeben.

Bei Sendevorgängen kann ein Protokolltreiber Sendeanforderungen ausgeben, indem er nur die Auslagerungstypen verwendet, die der Miniportadapter mit dem erforderlichen Kapselungstyp unterstützt. Wenn eine OID-Set-Anforderung von OID_OFFLOAD_ENCAPSULATION fehlschlägt, darf der Protokolltreiber daher keine Auslagerungseinstellungen in Sendeanforderungen verwenden, die an diesen Miniportadapter weitergeleitet werden.

Bei Empfangsvorgängen darf der Miniporttreiber erst dann Prüfsummen- oder IPsec-Auslagerungsdienste (Internet Protocol Security) starten, nachdem er eine OID-Set-Anforderung von OID_OFFLOAD_ENCAPSULATION empfangen hat.

Abrufen der aktuellen Kapselungseinstellungen (Protokolltreiber)

Ein Protokolltreiber kann erst nach dem Festlegen der OID_OFFLOAD_ENCAPSULATION OID eine OID_OFFLOAD_ENCAPSULATION Abfrage ausgeben.

NDIS antwortet mit einer NDIS_OFFLOAD_ENCAPSULATION-Struktur , die die aktuellen Kapselungseinstellungen enthält.

Protokolltreiber müssen für die Verarbeitung von NDIS_STATUS_Xxx Fehlercode vorbereitet sein. Wenn ein Fehler auftritt, darf der Protokolltreiber nicht versuchen, Auslagerungsvorgänge auszuführen, die an den betroffenen Miniportadapter weitergeleitet werden.

Weitere Informationen

NDIS_BIND_PARAMETERS
NDIS_OFFLOAD_ENCAPSULATION
NDIS_OID_REQUEST
NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG
OID_TCP_OFFLOAD_CURRENT_CONFIG

Anforderungen

Version: Windows Vista und höher Header: Ntddndis.h (include Ndis.h)