NDIS_PM_PROTOCOL_OFFLOAD Struktur (ntddndis.h)
Die NDIS_PM_PROTOCOL_OFFLOAD-Struktur gibt Parameter für einen Stromsparmodus 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;
Angehörige
Header
Die NDIS_OBJECT_HEADER Struktur für die NDIS_PM_PROTOCOL_OFFLOAD Struktur. Der Treiber legt den Type Member auf NDIS_OBJECT_TYPE_DEFAULT fest.
Um die Version der NDIS_PM_PROTOCOL_OFFLOAD-Struktur anzugeben, legen Sie das element RevisionHeader- 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 den Size Member 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. Dieses Mitglied ist für NDIS reserviert.
Priority
Ein ULONG-Wert, der die Priorität des Protokolloffloads enthält. Wenn ein Überlagerungstreiber einen Offload mit höherer Priorität hinzufügt, wenn es keine Ressourcen gibt, die für mehr Protokollabladungen verfügbar sind, entfernt NDIS möglicherweise ein Protokoll 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 vordefinierte:
NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_LOWEST
Gibt das Offload des Protokolls mit der niedrigsten Priorität an.
NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_NORMAL
Gibt ein normales Prioritätsprotokoll offload an.
NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_HIGHEST
Gibt das Offload des Protokolls mit der höchsten Priorität an.
ProtocolOffloadType
Ein NDIS_PM_PROTOCOL_OFFLOAD_TYPE Wert, der den Typ des Protokolloffloads enthält.
FriendlyName
Eine NDIS_PM_COUNTED_STRING Struktur, die die vom Benutzer lesbare Beschreibung des Offloads für low power protocol enthält.
ProtocolOffloadId
Ein ULONG-Wert, der einen von NDIS bereitgestellten Wert enthält, der das offloaded-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 zwischen den Protokollausladungen auf einem Netzwerkadapter eindeutig ist.
NextProtocolOffloadOffset
Ein ULONG-Wert, der einen Offset in Byte enthält. Die NextProtocolOffloadOffset Member 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 Vereinigung, die die folgenden Mitgliedsstrukturen enthält:
ProtocolOffloadParameters.IPv4ARPParameters
Eine Struktur, die IPv4-ARP-Parameter enthält. Diese Struktur enthält die folgenden Elemente:
ProtocolOffloadParameters.IPv4ARPParameters.Flags
Ein ULONG--Wert, der ein bitweises ODER- von Flags enthält. Dieses Mitglied 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 dieser IPv4-Adresse entspricht, sendet der Netzwerkadapter eine ARP-Antwort, wenn sie sich in einem Energiesparmodus befindet. Wenn dieses Mitglied 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 dieses Mitglied 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 Sha-Feld (Source Hardware Address) des generierten ARP-Antwortpakets.
ProtocolOffloadParameters.IPv6NSParameters
Eine Struktur, die IPv6 Neighbor Solicitation (NS)-Parameter enthält. Diese Struktur enthält die folgenden Elemente:
ProtocolOffloadParameters.IPv6NSParameters.Flags
Ein ULONG--Wert, der ein bitweises OR von Flags enthält. Dieses Mitglied ist für NDIS reserviert.
ProtocolOffloadParameters.IPv6NSParameters.RemoteIPv6Address[16]
Ein UCHAR- Array, das eine optionale IPv6-Adresse enthält. Diese Adresse stellt das Quelladressenfeld im IPv6-Header der NS-Nachricht dar.
Wenn die eingehende NS-Nachricht über einen Quelladressenwert verfügt, der dieser IPv6-Adresse entspricht, sendet der Netzwerkadapter eine Na-Nachricht (Benachbarte Ankündigung), wenn sie sich in einem Energiesparzustand befindet. Wenn dieses Mitglied null ist, sollte der Netzwerkadapter auf NS-Nachrichten von einer beliebigen IPv6-Remoteadresse antworten.
Weitere Informationen zu IPv6-NS- und NA-Nachrichten finden Sie unter RFC 4861.
ProtocolOffloadParameters.IPv6NSParameters.SolicitedNodeIPv6Address[16]
Ein UCHAR- Array, das die angeforderte Knoten-IPv6-Adresse enthält. Weitere Informationen zu diesem IPv6-Adresstyp 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 verbrauchen.
Diese Adressen stellen das Zieladressenfeld einer NS-Nachricht dar. Wenn eine dieser Adressen dem Zieladressefeld einer eingehenden NS-Nachricht entspricht, sendet der Netzwerkadapter eine NA-Nachricht als Antwort.
ProtocolOffloadParameters.Dot11RSNRekeyParameters
Eine Struktur, die IEEE 802.11i Robust Security Network (RSN)-Handshakeparameter enthält. Diese Struktur enthält die folgenden Elemente:
ProtocolOffloadParameters.Dot11RSNRekeyParameters.Flags
Ein ULONG--Wert, der ein bitweises OR von Flags enthält. Dieses Mitglied 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 Arrays, 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 die Handshakeparameter V2 IEEE 802.11i Robust Security Network (RSN) enthält. Verfügbar in NDIS 6.84 und höher. Diese Struktur enthält die folgenden Elemente:
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
Bemerkungen
Die NDIS_PM_PROTOCOL_OFFLOAD-Struktur wird in der OID_PM_ADD_PROTOCOL_OFFLOAD verwendet und OID_PM_PROTOCOL_OFFLOAD_LIST OIDs.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Unterstützt in NDIS 6.20 und höher. |
Header- | ntddndis.h (include Ntddndis.h) |