Partager via


structure NDIS_PM_PROTOCOL_OFFLOAD (ntddndis.h)

La structure NDIS_PM_PROTOCOL_OFFLOAD spécifie les paramètres d’un déchargement de protocole à faible 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 pour la structure NDIS_PM_PROTOCOL_OFFLOAD. Le pilote définit le membre type de 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 Size 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 taille sur NDIS_SIZEOF_NDIS_PM_PROTOCOL_OFFLOAD_REVISION_1.

Flags

Valeur ULONG qui contient une OR au niveau du bit des indicateurs. Ce membre est réservé à NDIS.

Priority

Valeur ULONG qui contient la priorité du déchargement du protocole. Si un pilote surchargé ajoute un déchargement de protocole de priorité supérieure lorsqu’il n’existe aucune ressource disponible pour davantage de 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é le plus bas.

NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_NORMAL

Spécifie un déchargement de protocole de priorité normal.

NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_HIGHEST

Spécifie le déchargement du protocole de priorité la plus élevée.

ProtocolOffloadType

Un 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 à faible alimentation.

ProtocolOffloadId

Valeur ULONG qui contient une valeur fournie par NDIS qui identifie le protocole déchargé. Avant que NDIS n’envoie la requête OID OID_PM_ADD_PROTOCOL_OFFLOAD vers le bas vers les pilotes NDIS sous-jacents ou termine la requête au pilote overlying, 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 NextProtocolOffloadOffset membre de chaque structure NDIS_PM_PROTOCOL_OFFLOAD d’une liste est défini sur le décalage (à partir du début de la requête OID InformationBuffer) de la structure de 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 de ULONG qui contient une OU d’indicateurs au niveau du bit. Ce membre est réservé à NDIS.

ProtocolOffloadParameters.IPv4ARPParameters.RemoteIPv4Address[4]

Tableau UCHAR qui contient une adresse IPv4 facultative. Cette adresse représente le champ SPA (Source Protocol Address) 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 d’alimentation faible. Si ce membre est égal à zéro, la carte réseau doit répondre aux demandes ARP à partir d’une 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’il génère.

Remarque Lorsqu’il 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 IPv6 (NS). Cette structure contient les membres suivants :

ProtocolOffloadParameters.IPv6NSParameters.Flags

Valeur ULONG qui contient une OR au niveau du bit des 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 d’annonce de voisin (NA) lorsqu’il est dans un état d’alimentation faible. Si ce membre est égal à zéro, la carte réseau doit répondre aux messages NS à partir d’une adresse IPv6 distante.

Pour plus d’informations sur les messages NS et NA IPv6, 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 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 (Target Link-Layer Address) du message NA.

Remarque Lorsqu’il 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 des paramètres d’établissement de liaison IEEE 802.11i Robust Security Network (RSN). Cette structure contient les membres suivants :

ProtocolOffloadParameters.Dot11RSNRekeyParameters.Flags

Valeur ULONG qui contient une OR au niveau du bit des 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é IEEE 802.11 (KEK).

ProtocolOffloadParameters.Dot11RSNRekeyParameters.KeyReplayCounter

Valeur ULONGLONG qui contient un compteur de relecture.

ProtocolOffloadParameters.Dot11RSNRekeyParametersV2

Structure qui contient les paramètres d’établissement de liaison V2 IEEE 802.11i Robust Security Network (RSN). 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.

Exigences

Exigence Valeur
client minimum pris en charge Pris en charge dans NDIS 6.20 et versions ultérieures.
d’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