Partager via


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.

Note Lorsqu’elle envoie une réponse ARP, la carte réseau doit toujours utiliser cette adresse MAC dans la charge utile ARP. Toutefois, il doit utiliser l’adresse MAC actuelle de la carte réseau comme adresse source dans l’en-tête MAC.
 

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.

Note Lorsqu’elle envoie un message NA, la carte réseau doit toujours utiliser cette adresse MAC dans le champ TLLA du message NA. Toutefois, il doit utiliser l’adresse MAC actuelle de la carte réseau comme adresse source dans l’en-tête MAC.
 

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)

Voir aussi

NDIS_OBJECT_HEADER

NDIS_PM_COUNTED_STRING

NDIS_PM_PROTOCOL_OFFLOAD_TYPE

OID_PM_ADD_PROTOCOL_OFFLOAD

OID_PM_PROTOCOL_OFFLOAD_LIST