NDIS_PM_PROTOCOL_OFFLOAD-Struktur (ntddndis.h)
Die NDIS_PM_PROTOCOL_OFFLOAD-Struktur gibt Parameter für eine Protokollauslagerung mit geringem Stromverbrauch an einen Netzwerkadapter an.
Syntax
typedef struct _NDIS_PM_PROTOCOL_OFFLOAD {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
ULONG Priority;
NDIS_PM_PROTOCOL_OFFLOAD_TYPE ProtocolOffloadType;
NDIS_PM_COUNTED_STRING FriendlyName;
ULONG ProtocolOffloadId;
ULONG NextProtocolOffloadOffset;
union {
struct {
ULONG Flags;
UCHAR RemoteIPv4Address[4];
UCHAR HostIPv4Address[4];
UCHAR MacAddress[6];
} IPv4ARPParameters;
struct {
ULONG Flags;
UCHAR RemoteIPv6Address[16];
UCHAR SolicitedNodeIPv6Address[16];
UCHAR MacAddress[6];
UCHAR TargetIPv6Addresses[2][16];
} IPv6NSParameters;
struct {
ULONG Flags;
UCHAR KCK[DOT11_RSN_KCK_LENGTH];
UCHAR KEK[DOT11_RSN_KEK_LENGTH];
ULONGLONG KeyReplayCounter;
} Dot11RSNRekeyParameters;
struct {
ULONG Flags;
ULONGLONG KeyReplayCounter;
ULONG AuthAlgo;
ULONG KCKLength;
ULONG KEKLength;
UCHAR KCK[DOT11_RSN_MAX_CIPHER_KEY_LENGTH];
UCHAR KEK[DOT11_RSN_MAX_CIPHER_KEY_LENGTH];
} Dot11RSNRekeyParametersV2;
} ProtocolOffloadParameters;
_PROTOCOL_OFFLOAD_PARAMETERS _PROTOCOL_OFFLOAD_PARAMETERS;
} NDIS_PM_PROTOCOL_OFFLOAD, *PNDIS_PM_PROTOCOL_OFFLOAD;
Member
Header
Die NDIS_OBJECT_HEADER-Struktur für die NDIS_PM_PROTOCOL_OFFLOAD-Struktur . Der Treiber legt den Typmember auf NDIS_OBJECT_TYPE_DEFAULT fest.
Um die Version der NDIS_PM_PROTOCOL_OFFLOAD-Struktur anzugeben, legen Sie den Revisionsmember von Header auf einen der folgenden Werte fest:
NDIS_PM_PROTOCOL_OFFLOAD_REVISION_2
Die Dot11RSNRekeyParametersV2-Struktur für NDIS 6.84 wurde hinzugefügt.
Legen Sie das Element Größe auf NDIS_SIZEOF_NDIS_PM_PROTOCOL_OFFLOAD_REVISION_2 fest.
NDIS_PM_PROTOCOL_OFFLOAD_REVISION_1
Originalversion für NDIS 6.20 und höher.
Legen Sie das Element Größe auf NDIS_SIZEOF_NDIS_PM_PROTOCOL_OFFLOAD_REVISION_1 fest.
Flags
Ein ULONG-Wert, der ein bitweises OR von Flags enthält. Dieser Member ist für NDIS reserviert.
Priority
Ein ULONG-Wert, der die Priorität der Protokollauslagerung enthält. Wenn ein überlagernder Treiber eine Protokollauslagerung mit höherer Priorität hinzufügt, wenn keine Ressourcen für weitere Protokollauslagerungen verfügbar sind, entfernt NDIS möglicherweise eine Protokollauslagerung mit niedrigerer Priorität, um Ressourcen freizugeben. Miniport-Treiber sollten dieses Element ignorieren. Protokolltreiber können einen beliebigen Wert innerhalb des vordefinierten Bereichs bereitstellen. Die folgenden Werte sind vordefiniert:
NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_LOWEST
Gibt die Protokollauslagerung mit der niedrigsten Priorität an.
NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_NORMAL
Gibt eine normale Protokollauslagerung mit Priorität an.
NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_HIGHEST
Gibt die Protokollauslagerung mit der höchsten Priorität an.
ProtocolOffloadType
Eine NDIS_PM_PROTOCOL_OFFLOAD_TYPE Wert, der den Typ der Protokollauslagerung enthält.
FriendlyName
Eine NDIS_PM_COUNTED_STRING-Struktur , die die benutzerlesbare Beschreibung der Protokollauslagerung mit geringer Leistung enthält.
ProtocolOffloadId
Ein ULONG-Wert, der einen von NDIS bereitgestellten Wert enthält, der das ausgeladene Protokoll identifiziert. Bevor NDIS die OID_PM_ADD_PROTOCOL_OFFLOAD OID-Anforderung an die zugrunde liegenden NDIS-Treiber sendet oder die Anforderung an den überlagernden Treiber abschließt, legt NDIS ProtocolOffloadId auf einen Wert fest, der unter den Protokollauslagerungen auf einem Netzwerkadapter eindeutig ist.
NextProtocolOffloadOffset
Ein ULONG-Wert, der einen Offset in Bytes enthält. Das NextProtocolOffloadOffset-Element jeder NDIS_PM_PROTOCOL_OFFLOAD-Struktur in einer Liste wird auf den Offset (vom Anfang der OID-Anforderung InformationBuffer) der nächsten NDIS_PM_PROTOCOL_OFFLOAD-Struktur in der Liste festgelegt. Wenn NextProtocolOffloadOffset null ist, ist die aktuelle Struktur die letzte Struktur in der Liste.
ProtocolOffloadParameters
Eine Union, die die folgenden Memberstrukturen enthält:
ProtocolOffloadParameters.IPv4ARPParameters
Eine Struktur, die IPv4-ARP-Parameter enthält. Diese Struktur enthält die folgenden Member:
ProtocolOffloadParameters.IPv4ARPParameters.Flags
Ein ULONG-Wert , der ein bitweises OR von Flags enthält. Dieser Member ist für NDIS reserviert.
ProtocolOffloadParameters.IPv4ARPParameters.RemoteIPv4Address[4]
Ein UCHAR-Array , das eine optionale IPv4-Adresse enthält. Diese Adresse stellt das Feld Source Protocol Address (SPA) der ARP-Anforderung dar.
Wenn die eingehende ARP-Anforderung einen SPA-Wert aufweist, der mit dieser IPv4-Adresse übereinstimmt, sendet der Netzwerkadapter eine ARP-Antwort, wenn er sich in einem Energiesparzustand befindet. Wenn dieser Member null ist, sollte der Netzwerkadapter auf ARP-Anforderungen von einer beliebigen IPv4-Remoteadresse reagieren.
Weitere Informationen zum ARP-Protokoll finden Sie unter RFC 826.
ProtocolOffloadParameters.IPv4ARPParameters.HostIPv4Address[4]
Ein UCHAR-Array , das die IPv4-Adresse enthält. Wenn die ARP-Antwort gesendet wird, verwendet der Netzwerkadapter diesen Member für das SPA-Feld der Antwort.
ProtocolOffloadParameters.IPv4ARPParameters.MacAddress[6]
Ein UCHAR-Array , das eine MAC-Adresse (Media Access Control) enthält. Der Netzwerkadapter verwendet diese MAC-Adresse für das Feld Quellhardwareadresse (SHA) des ARP-Antwortpakets, das er generiert.
ProtocolOffloadParameters.IPv6NSParameters
Eine Struktur, die NS-Parameter (IPv6 Neighbor Solicitation) enthält. Diese Struktur enthält die folgenden Member:
ProtocolOffloadParameters.IPv6NSParameters.Flags
Ein ULONG-Wert , der ein bitweises OR von Flags enthält. Dieser Member ist für NDIS reserviert.
ProtocolOffloadParameters.IPv6NSParameters.RemoteIPv6Address[16]
Ein UCHAR-Array , das eine optionale IPv6-Adresse enthält. Diese Adresse stellt das Feld Quelladresse im IPv6-Header der NS-Nachricht dar.
Wenn die eingehende NS-Nachricht einen Quelladressenwert aufweist, der mit dieser IPv6-Adresse übereinstimmt, sendet der Netzwerkadapter eine Nachbarankündigungsnachricht (NA), wenn er sich in einem Energiesparzustand befindet. Wenn dieser Member null ist, sollte der Netzwerkadapter auf NS-Nachrichten von einer beliebigen IPv6-Remoteadresse reagieren.
Weitere Informationen zu IPv6-NS- und NA-Nachrichten finden Sie unter RFC 4861.
ProtocolOffloadParameters.IPv6NSParameters.SolicitedNodeIPv6Address[16]
Ein UCHAR-Array , das die angeforderte IPv6-Adresse des Knotens enthält. Weitere Informationen zu diesem Typ von IPv6-Adressen finden Sie unter Multicast-IPv6-Adressen.
ProtocolOffloadParameters.IPv6NSParameters.MacAddress[6]
Ein UCHAR-Array , das die MAC-Adresse enthält. Wenn die NA-Nachricht gesendet wird, verwendet der Netzwerkadapter dieses Array für das TLLA-Feld (Target Link Layer Address) der NA-Nachricht.
ProtocolOffloadParameters.IPv6NSParameters.TargetIPv6Addresses[2]
Ein UCHAR-Array , das eine oder zwei IPv6-Adressen enthält. Wenn sie nur eine Adresse enthält, wird diese Adresse im ersten Element im Array gespeichert, und das zweite Element wird mit Nullen gefüllt.
Miniporttreiber müssen alle Adressen im Array nutzen.
Diese Adressen stellen das Feld Zieladresse einer NS-Nachricht dar. Wenn eine dieser Adressen mit dem Feld Zieladresse einer eingehenden NS-Nachricht übereinstimmt, sendet der Netzwerkadapter als Antwort eine NA-Nachricht.
ProtocolOffloadParameters.Dot11RSNRekeyParameters
Eine Struktur, die IEEE 802.11i Robust Security Network (RSN)-Handshakeparameter enthält. Diese Struktur enthält die folgenden Member:
ProtocolOffloadParameters.Dot11RSNRekeyParameters.Flags
Ein ULONG-Wert , der ein bitweises OR von Flags enthält. Dieser Member ist für NDIS reserviert.
ProtocolOffloadParameters.Dot11RSNRekeyParameters.KCK[DOT11_RSN_KCK_LENGTH]
Ein UCHAR-Array , das einen IEEE 802.11-Schlüsselbestätigungsschlüssel (KCK) enthält.
ProtocolOffloadParameters.Dot11RSNRekeyParameters.KEK[DOT11_RSN_KEK_LENGTH]
Ein UCHAR-Array , das einen IEEE 802.11-Schlüsselverschlüsselungsschlüssel (KEK) enthält.
ProtocolOffloadParameters.Dot11RSNRekeyParameters.KeyReplayCounter
Ein ULONGLONG-Wert , der einen Wiedergabezähler enthält.
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2
Eine Struktur, die V2 IEEE 802.11i Robust Security Network (RSN)-Handshakeparameter enthält. Verfügbar in NDIS 6.84 und höher. Diese Struktur enthält die folgenden Member:
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.Flags
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.KeyReplayCounter
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.AuthAlgo
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.KCKLength
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.KEKLength
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.KCK[DOT11_RSN_MAX_CIPHER_KEY_LENGTH]
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.KEK[DOT11_RSN_MAX_CIPHER_KEY_LENGTH]
_PROTOCOL_OFFLOAD_PARAMETERS
Hinweise
Die NDIS_PM_PROTOCOL_OFFLOAD-Struktur wird in den OID_PM_ADD_PROTOCOL_OFFLOAD und OID_PM_PROTOCOL_OFFLOAD_LIST Oids.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt in NDIS 6.20 und höher. |
Kopfzeile | ntddndis.h (include Ntddndis.h) |