Freigeben über


NDIS_HD_SPLIT_ATTRIBUTES Struktur (ndis.h)

Die NDIS_HD_SPLIT_ATTRIBUTES-Struktur definiert, falls vorhanden, Headerdatenteilungsattribute, die einem Miniportadapter zugeordnet sind.

Syntax

typedef struct _NDIS_HD_SPLIT_ATTRIBUTES {
  NDIS_OBJECT_HEADER Header;
  ULONG              HardwareCapabilities;
  ULONG              CurrentCapabilities;
  ULONG              HDSplitFlags;
  ULONG              BackfillSize;
  ULONG              MaxHeaderSize;
} NDIS_HD_SPLIT_ATTRIBUTES, *PNDIS_HD_SPLIT_ATTRIBUTES;

Angehörige

Header

Die NDIS_OBJECT_HEADER Struktur für die Anbietereigenschaftenstruktur (NDIS_HD_SPLIT_ATTRIBUTES). Der Treiber legt das element Type der Struktur fest, das Header- angibt, NDIS_OBJECT_TYPE_HD_SPLIT_ATTRIBUTES, das Revision Member auf NDIS_OBJECT_HD_SPLIT_ATTRIBUTES_REVISION_1 und das Size Member auf NDIS_SIZEOF_HD_SPLIT_ATTRIBUTES_REVISION_1.

HardwareCapabilities

Die Hardwarefunktionen für Headerdaten, die vom Miniportadapter unterstützt werden. Diese Funktionen sollten Funktionen enthalten, die derzeit von INF-Dateieinstellungen oder über die Eigenschaftenseite Advanced deaktiviert werden. Der Wert von HardwareCapabilities ist ein bitweiser OR der folgenden Flags:

NDIS_HD_SPLIT_CAPS_SUPPORTS_HEADER_DATA_SPLIT

Der Miniportadapter kann die Kopfzeile und die Daten in separate MDLs aufteilen, die die Anforderungen für die Unterstützung für Die Headerdatenteilung erfüllen.

NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV4_OPTIONS

Der Miniportadapter kann IPv4-Ethernet-Frames teilen, die IPv4-Optionen enthalten. Der Miniportadapter kann das Teilen einiger IPv4-Optionen unterstützen, während andere nicht geteilt werden.

Hinweis Die NIC darf IPv4-Frames, die nicht unterstützte IPv4-Optionen enthalten, nicht teilen. Wenn ein IPv4-Frame geteilt wird, muss der Kopfzeilenteil des geteilten Frames den gesamten IPv4-Header und alle vorhandenen IPv4-Optionen enthalten.
 

NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV6_EXTENSION_HEADERS

Der Miniportadapter kann IPv6-Ethernet-Frames teilen, die IPv6-Erweiterungsheader enthalten. Der Miniportadapter kann einige IPv6-Erweiterungsheader unterstützen, während andere nicht unterstützt werden.

Hinweis Die NIC darf keine IPv6-Frames teilen, die nicht unterstützte IPv6-Erweiterungsheader enthalten. Wenn ein IPv6-Frame geteilt wird, muss der Kopfzeilenteil des geteilten Frames den gesamten IPv6-Header und alle vorhandenen IPv6-Erweiterungsheader enthalten.
 

NDIS_HD_SPLIT_CAPS_SUPPORTS_TCP_OPTIONS

Der Miniportadapter kann TCP-Frames zusätzlich zur Zeitstempeloption mit anderen TCP-Optionen teilen. Der Miniportadapter kann einige TCP-Optionen unterstützen und andere nicht unterstützen.

Hinweis Wenn die einzige TCP-Option in einem Frame die Zeitstempeloption ist, muss der Datenteilungsanbieter in der Lage sein, den Frame aufzuteilen.
 
Hinweis Wenn ein TCP-Header eine nicht unterstützte TCP-Option enthält, muss die NIC den Frame am Anfang des TCP-Headers teilen oder den Frame nicht teilen.
 

CurrentCapabilities

Die aktuellen Funktionen zum Teilen von Headerdaten, die der Miniportadapter unterstützt. Der Miniporttreiber verwendet dieselben Flags, die für das HardwareCapabilities Member definiert sind. In diesem Fall werden die Flags so festgelegt, dass die aktuellen Funktionen angegeben werden, die von den aktuellen Konfigurationseinstellungen abhängen.

HDSplitFlags

Eine Reihe von Flags, die den Status der Geteilten Kopfzeilendaten für einen Miniportadapter steuern. Der Miniporttreiber sollte dieses Element vor dem Aufrufen des Elements auf Null festlegen. NdisMSetMiniportAttributes Funktion. Nachdem NdisMSetMiniportAttributes erfolgreich zurückgegeben, muss der Treiber die Flags überprüfen und die Hardware entsprechend konfigurieren. NDIS legt dieses Element mit einem bitweisen OR der folgenden Flags fest:

NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT

Wenn dieses Kennzeichen festgelegt ist, sollte der Miniporttreiber die Aufteilung von Headerdaten in der Hardware aktivieren. Andernfalls ist die Unterbrechung der Kopfzeilendaten deaktiviert. Wenn der Computer Kopfzeilendaten teilt und der Miniporttreiber auch das NDIS_HD_SPLIT_CAPS_SUPPORTS_HEADER_DATA_SPLIT Flag im CurrentCapabilities Member festlegt, legt NDIS NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT fest.

BackfillSize

Die Größe des Backfills für den Datenteil eines geteilten Frames in Byte. Der Miniporttreiber sollte festgelegt werden.
BackfillSize auf Null, bevor NdisMSetMiniportAttributesaufgerufen wird. NDIS legt diesen Member fest, wenn der Miniporttreiber Speicher im Datenbereich für geteilte Frames vorab zuordnen muss. Nachdem NdisMSetMiniportAttributes erfolgreich zurückgegeben, muss der Treiber den BackfillSize Wert verwenden, den NDIS auf die Vorzuweisung der Datenpuffer festgelegt hat.

MaxHeaderSize

Die maximale Größe in Byte für den Kopfzeilenteil eines geteilten Frames. Der Miniporttreiber sollte MaxHeaderSize- auf Null festlegen, bevor NdisMSetMiniportAttributesaufgerufen wird. NDIS legt dieses Element auf die maximale Größe für den Headerpuffer für geteilte Frames fest. Nachdem NdisMSetMiniportAttributes erfolgreich zurückgegeben, muss der Treiber den von NDIS bereitgestellten Wert verwenden.

Hinweis Wenn die Länge eines Headers MaxHeaderSize aufgrund des Vorhandenseins von IPv4-Optionen, IPSec-Headern oder IPv6-Erweiterungsheadern überschreitet, darf der Frame nicht geteilt werden. Wenn ein Header, der einen TCP- oder UDP-Header enthält, MaxHeaderSize aufgrund des Vorhandenseins von TCP-Headern, TCP-Optionen oder UDP-Headern überschreitet, muss die NIC den Frame am Anfang des Headers der oberen Ebene teilen oder den Frame nicht teilen.
 

Bemerkungen

Zur Unterstützung der Aufteilung von Headerdaten übergibt ein Miniporttreiber einen Zeiger an einen NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES Struktur im MiniportAttributes Parameter des NdisMSetMiniportAttributes Funktion. Das HDSplitAttributes-element NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES enthält einen Zeiger auf die NDIS_HD_SPLIT_ATTRIBUTES Struktur. Ein Miniporttreiber ruft NdisMSetMiniportAttributes aus seiner MiniportInitializeEx--Funktion während der Initialisierung auf.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Unterstützt in NDIS 6.1 und höher.
Header- ndis.h (include Ndis.h)

Siehe auch

MiniportInitializeEx-

NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES

NDIS_OBJECT_HEADER

NdisMSetMiniportAttributes