OID_OFFLOAD_ENCAPSULATION
Als Abfrageanforderung verwenden Überlagerungstreiber die OID_OFFLOAD_ENCAPSULATION OID, um die aktuellen Offload-Kapselungseinstellungen eines zugrunde liegenden Miniportadapters abzurufen. NDIS behandelt diese OID-Abfrage für Miniporttreiber.
Als set-Anforderung verwenden Überlagerungstreiber das OID_OFFLOAD_ENCAPSULATION OID, um die Kapselungseinstellungen eines zugrunde liegenden Miniportadapters festzulegen. Miniport-Treiber, die das Entladen von Vorgängen unterstützen, müssen diese OID-Set-Anforderung verarbeiten.
Bemerkungen
Das InformationBuffer-Element der NDIS_OID_REQUEST-Struktur enthält eine NDIS_OFFLOAD_ENCAPSULATION Struktur.
Miniport-Treiber
Wenn ein Miniporttreiber das Entladen und dieses OID nicht unterstützt, sollte der Treiber NDIS_STATUS_NOT_SUPPORTED zurückgeben.
Miniporttreiber müssen den Inhalt der NDIS_OFFLOAD_ENCAPSULATION Struktur verwenden, um die aktuell gemeldeten TCP-Offloadfunktionen zu aktualisieren. Nach dem Update muss der Miniporttreiber die aktuellen Aufgaben offload-Funktionen mit der NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG Statusanzeige melden. Diese Statusanzeige stellt sicher, dass alle übermäßigen Protokolltreiber mit den neuen Funktionsinformationen aktualisiert werden.
Dieses OID wird verwendet, um alle konfigurierten oder aktivierten Offloads zu aktivieren oder alle Auslagerungen zu deaktivieren (mit anderen Worten, die Hardware beginnt mit der Ausführung der Auslagerungen). Es bietet keine feine Kontrolle über einzelne Auslagerungen. Stattdessen werden OID_TCP_OFFLOAD_PARAMETERS verwendet, um einzelne Auslagerungen zu konfigurieren und sie auch zu aktivieren. Im Allgemeinen können die meisten TCP/IP-Aufgaben offloads mit OID_TCP_OFFLOAD_PARAMETERS konfiguriert und aktiviert werden.
Die NDIS_OFFLOAD_ENCAPSULATION Struktur dieses OID umfasst jedoch auch zwei weitere Kapselungstypen, die nicht von der NDIS_OFFLOAD_PARAMETERS Struktur OID_TCP_OFFLOAD_PARAMETERS abgedeckt werden: NDIS_ENCAPSULATION_IEEE_802_3 und NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED. Miniporttreiber müssen diesen Unterschied bei Kapselungstypen behandeln, die von den verschiedenen OIDs abgedeckt werden.
Wenn dieser OID vom Protokolltreiber ausgegeben wird, um alle Ausladungen zu deaktivieren, wird das Enabled Member des NDIS_OFFLOAD_ENCAPSULATION-Mitglieds auf NDIS_OFFLOAD_SET_OFF festgelegt.
Festlegen der Kapselung (Protokolltreiber)
Protokolltreiber legen OID_OFFLOAD_ENCAPSULATION nach der Ermittlung der Systemkapselungsanforderungen fest. Ein Protokolltreiber kann die Funktionen des zugrunde liegenden Miniportadapters aus der NDIS_BIND_PARAMETERS-Struktur oder durch Abfragen von OID_TCP_OFFLOAD_CURRENT_CONFIGbestimmen. Der Protokolltreiber muss einen Kapselungstyp festlegen, den der Miniportadapter für mindestens einen Offload-Dienst unterstützt.
Wenn ein Miniporttreiber einen Offload-Typ unterstützt, der den angeforderten Kapselungstyp unterstützt, muss der Treiber als Reaktion auf eine Reihe von OID_OFFLOAD_ENCAPSULATION NDIS_STATUS_SUCCESS zurückgeben. Andernfalls sollte der Miniporttreiber NDIS_STATUS_INVALID_PARAMETER zurückgeben.
Bei Sendevorgängen kann ein Protokolltreiber Sendeanforderungen nur mit den Offload-Typen ausstellen, die der Miniportadapter mit dem erforderlichen Kapseltyp unterstützt. Wenn daher eine OID-Setanforderung von OID_OFFLOAD_ENCAPSULATION fehlschlägt, darf der Protokolltreiber keine Offloadeinstellungen in Sendeanforderungen verwenden, die an diesen Miniportadapter weitergeleitet werden.
Für Empfangsvorgänge darf der Miniporttreiber keine Prüfsummen- oder Internetprotokollsicherheitsdienste (Internet Protocol Security, IPsec) starten, bis er eine OID-Setanforderung von OID_OFFLOAD_ENCAPSULATION empfängt.
Abrufen der aktuellen Kapselungseinstellungen (Protokolltreiber)
Ein Protokolltreiber kann eine OID_OFFLOAD_ENCAPSULATION Abfrage erst nach dem Festlegen des OID_OFFLOAD_ENCAPSULATION OID ausgeben.
NDIS antwortet mit einer NDIS_OFFLOAD_ENCAPSULATION Struktur, die die aktuellen Kapselungseinstellungen enthält.
Protokolltreiber müssen vorbereitet sein, um NDIS_STATUS_Xxx Fehlercode zu verarbeiten. Wenn ein Fehler auftritt, darf der Protokolltreiber nicht versuchen, offload-Vorgänge auszuführen, die an den betroffenen Miniportadapter weitergeleitet werden.
Siehe auch
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 (enthalten Ndis.h)