NDIS_PM_PROTOCOL_OFFLOAD structure (ntddndis.h)
La structure NDIS_PM_PROTOCOL_OFFLOAD spécifie les paramètres d’un déchargement de protocole de faible consommation d’alimentation sur une carte réseau.
Syntaxe
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;
Membres
Header
Structure NDIS_OBJECT_HEADER de la structure NDIS_PM_PROTOCOL_OFFLOAD . Le pilote définit le membre Type sur NDIS_OBJECT_TYPE_DEFAULT.
Pour indiquer la version de la structure NDIS_PM_PROTOCOL_OFFLOAD , définissez le membre Revision de Header sur l’une des valeurs suivantes :
NDIS_PM_PROTOCOL_OFFLOAD_REVISION_2
Ajout de la structure Dot11RSNRekeyParametersV2 pour NDIS 6.84.
Définissez le membre Taille sur NDIS_SIZEOF_NDIS_PM_PROTOCOL_OFFLOAD_REVISION_2.
NDIS_PM_PROTOCOL_OFFLOAD_REVISION_1
Version d’origine pour NDIS 6.20 et versions ultérieures.
Définissez le membre Size sur NDIS_SIZEOF_NDIS_PM_PROTOCOL_OFFLOAD_REVISION_1.
Flags
Valeur ULONG qui contient un OR au niveau du bit d’indicateurs. Ce membre est réservé à NDIS.
Priority
Valeur ULONG qui contient la priorité du déchargement du protocole. Si un pilote overlying ajoute un déchargement de protocole de priorité plus élevée lorsqu’aucune ressource n’est disponible pour d’autres déchargements de protocole, NDIS peut supprimer un déchargement de protocole de priorité inférieure pour libérer des ressources. Les pilotes miniport doivent ignorer ce membre. Les pilotes de protocole peuvent fournir n’importe quelle valeur dans la plage prédéfinie. Les valeurs suivantes sont prédéfinies :
NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_LOWEST
Spécifie le déchargement du protocole de priorité la plus basse.
NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_NORMAL
Spécifie un déchargement de protocole de priorité normale.
NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_HIGHEST
Spécifie le déchargement du protocole de priorité la plus élevée.
ProtocolOffloadType
An NDIS_PM_PROTOCOL_OFFLOAD_TYPE valeur qui contient le type de déchargement de protocole.
FriendlyName
Structure NDIS_PM_COUNTED_STRING qui contient la description lisible par l’utilisateur du déchargement du protocole de faible consommation d’alimentation.
ProtocolOffloadId
Valeur ULONG qui contient une valeur fournie par NDIS qui identifie le protocole déchargé. Avant que NDIS envoie le OID_PM_ADD_PROTOCOL_OFFLOAD demande OID aux pilotes NDIS sous-jacents ou termine la demande au pilote de sur-insertion, NDIS définit ProtocolOffloadId sur une valeur unique parmi les déchargements de protocole sur une carte réseau.
NextProtocolOffloadOffset
Valeur ULONG qui contient un décalage, en octets. Le membre NextProtocolOffloadOffset de chaque structure NDIS_PM_PROTOCOL_OFFLOAD dans une liste est défini sur le décalage (à partir du début de la requête OID InformationBuffer) de la structure NDIS_PM_PROTOCOL_OFFLOAD suivante dans la liste. Si NextProtocolOffloadOffset est égal à zéro, la structure actuelle est la dernière structure de la liste.
ProtocolOffloadParameters
Union qui contient les structures membres suivantes :
ProtocolOffloadParameters.IPv4ARPParameters
Structure qui contient des paramètres ARP IPv4. Cette structure contient les membres suivants :
ProtocolOffloadParameters.IPv4ARPParameters.Flags
Valeur ULONG qui contient un OR au niveau du bit d’indicateurs. Ce membre est réservé à NDIS.
ProtocolOffloadParameters.IPv4ARPParameters.RemoteIPv4Address[4]
Tableau UCHAR qui contient une adresse IPv4 facultative. Cette adresse représente le champ Adresse du protocole source (SPA) de la requête ARP.
Si la requête ARP entrante a une valeur SPA qui correspond à cette adresse IPv4, la carte réseau envoie une réponse ARP lorsqu’elle est dans un état de faible consommation. Si ce membre est égal à zéro, la carte réseau doit répondre aux demandes ARP à partir de n’importe quelle adresse IPv4 distante.
Pour plus d’informations sur le protocole ARP, consultez RFC 826.
ProtocolOffloadParameters.IPv4ARPParameters.HostIPv4Address[4]
Tableau UCHAR qui contient l’adresse IPv4. Lorsqu’elle envoie la réponse ARP, la carte réseau utilise ce membre pour le champ SPA de la réponse.
ProtocolOffloadParameters.IPv4ARPParameters.MacAddress[6]
Tableau UCHAR qui contient une adresse MAC (Media Access Control). La carte réseau utilise cette adresse MAC pour le champ Sha (Source Hardware Address) du paquet de réponse ARP qu’elle génère.
ProtocolOffloadParameters.IPv6NSParameters
Structure qui contient des paramètres de sollicitation de voisin (NS) IPv6. Cette structure contient les membres suivants :
ProtocolOffloadParameters.IPv6NSParameters.Flags
Valeur ULONG qui contient un OR au niveau du bit d’indicateurs. Ce membre est réservé à NDIS.
ProtocolOffloadParameters.IPv6NSParameters.RemoteIPv6Address[16]
Tableau UCHAR qui contient une adresse IPv6 facultative. Cette adresse représente le champ Adresse source dans l’en-tête IPv6 du message NS.
Si le message NS entrant a une valeur d’adresse source qui correspond à cette adresse IPv6, la carte réseau envoie un message de publication de voisin (NA) lorsqu’elle est dans un état de faible consommation. Si ce membre est égal à zéro, la carte réseau doit répondre aux messages NS à partir de n’importe quelle adresse IPv6 distante.
Pour plus d’informations sur les messages IPv6 NS et NA, consultez RFC 4861.
ProtocolOffloadParameters.IPv6NSParameters.SolicitedNodeIPv6Address[16]
Tableau UCHAR qui contient l’adresse IPv6 du nœud sollicité. Pour plus d’informations sur ce type d’adresse IPv6, consultez Adresses IPv6 de multidiffusion.
ProtocolOffloadParameters.IPv6NSParameters.MacAddress[6]
Tableau UCHAR qui contient l’adresse MAC. Lorsqu’elle envoie le message NA, la carte réseau utilise ce tableau pour le champ TLLA (Link-Layer Address) cible du message NA.
ProtocolOffloadParameters.IPv6NSParameters.TargetIPv6Addresses[2]
Tableau UCHAR qui contient une ou deux adresses IPv6. S’il ne contient qu’une seule adresse, cette adresse est stockée dans le premier élément du tableau, et le deuxième élément est rempli de zéros.
Les pilotes Miniport doivent consommer toutes les adresses du tableau.
Ces adresses représentent le champ Adresse cible d’un message NS. Si l’une de ces adresses correspond au champ Adresse cible d’un message NS entrant, la carte réseau envoie un message NA en réponse.
ProtocolOffloadParameters.Dot11RSNRekeyParameters
Structure qui contient les paramètres de négociation IEEE 802.11i Robust Security Network (RSN). Cette structure contient les membres suivants :
ProtocolOffloadParameters.Dot11RSNRekeyParameters.Flags
Valeur ULONG qui contient un OR au niveau du bit d’indicateurs. Ce membre est réservé à NDIS.
ProtocolOffloadParameters.Dot11RSNRekeyParameters.KCK[DOT11_RSN_KCK_LENGTH]
Tableau UCHAR qui contient une clé de confirmation de clé IEEE 802.11 (KCK).
ProtocolOffloadParameters.Dot11RSNRekeyParameters.KEK[DOT11_RSN_KEK_LENGTH]
Tableau UCHAR qui contient une clé de chiffrement de clé (KEK) IEEE 802.11.
ProtocolOffloadParameters.Dot11RSNRekeyParameters.KeyReplayCounter
Valeur ULONGLONG qui contient un compteur de relecture.
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2
Structure qui contient les paramètres d’établissement d’une liaison RSN (Robust Security Network) IEEE 2 802.11i. Disponible dans NDIS 6.84 et versions ultérieures. Cette structure contient les membres suivants :
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
Remarques
La structure NDIS_PM_PROTOCOL_OFFLOAD est utilisée dans le OID_PM_ADD_PROTOCOL_OFFLOAD et OID_PM_PROTOCOL_OFFLOAD_LIST Oid.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Pris en charge dans NDIS 6.20 et versions ultérieures. |
En-tête | ntddndis.h (include Ntddndis.h) |