structure NDIS_PM_CAPABILITIES (ntddndis.h)

La structure NDIS_PM_CAPABILITIES spécifie les fonctionnalités de gestion de l’alimentation d’une carte réseau.

Syntaxe

typedef struct _NDIS_PM_CAPABILITIES {
  NDIS_OBJECT_HEADER      Header;
  ULONG                   Flags;
  ULONG                   SupportedWoLPacketPatterns;
  ULONG                   NumTotalWoLPatterns;
  ULONG                   MaxWoLPatternSize;
  ULONG                   MaxWoLPatternOffset;
  ULONG                   MaxWoLPacketSaveBuffer;
  ULONG                   SupportedProtocolOffloads;
  ULONG                   NumArpOffloadIPv4Addresses;
  ULONG                   NumNSOffloadIPv6Addresses;
  NDIS_DEVICE_POWER_STATE MinMagicPacketWakeUp;
  NDIS_DEVICE_POWER_STATE MinPatternWakeUp;
  NDIS_DEVICE_POWER_STATE MinLinkChangeWakeUp;
  ULONG                   SupportedWakeUpEvents;
  ULONG                   MediaSpecificWakeUpEvents;
} NDIS_PM_CAPABILITIES, *PNDIS_PM_CAPABILITIES;

Membres

Header

Type, révision et taille de la structure NDIS_PM_CAPABILITIES . Ce membre est mis en forme en tant que structure NDIS_OBJECT_HEADER .

Le pilote miniport doit définir le membre Type de l’en-tête sur NDIS_OBJECT_TYPE_DEFAULT. Pour spécifier la version de la structure NDIS_PM_CAPABILITIES , le pilote doit définir le membre Révisiond’En-tête sur la valeur suivante :

NDIS_PM_CAPABILITIES_REVISION_2

Ajout de diverses modifications pour NDIS 6.30.

Définissez le membre Size sur NDIS_SIZEOF_NDIS_PM_CAPABILITIES_REVISION_2.

NDIS_PM_CAPABILITIES_REVISION_1

Version d’origine pour NDIS 6.20.

Définissez le membre Size sur NDIS_SIZEOF_NDIS_PM_CAPABILITIES_REVISION_1.

Flags

Valeur ULONG qui contient un OR au niveau du bit d’indicateurs. Pour NDIS 6.20, ce membre est réservé à NDIS.

À compter de NDIS 6.30, les indicateurs suivants sont définis :

NDIS_PM_WAKE_PACKET_INDICATION_SUPPORTED

Si cet indicateur est défini, la carte réseau doit être en mesure d’enregistrer le paquet reçu qui a provoqué la génération d’un événement de mise en éveil.

Si cet indicateur est défini, le pilote miniport doit être en mesure d’effectuer les opérations suivantes avec ce paquet après la transition de la carte réseau vers un état d’alimentation totale :

Pour plus d’informations sur cette fonctionnalité de gestion de l’alimentation, consultez NDIS Wake Reason Status Indications.

NDIS_PM_SELECTIVE_SUSPEND_SUPPORTED

Si cet indicateur est défini, le pilote miniport prend en charge la suspension sélective NDIS pour les cartes réseau.

Pour plus d’informations sur cette fonctionnalité de gestion de l’alimentation, consultez Interruption sélective NDIS.

SupportedWoLPacketPatterns

Valeur ULONG qui contient une OR au niveau du bit d’indicateurs qui spécifient les modèles de wake-on-LAN (WOL) pris en charge par une carte réseau. Les pilotes Miniport utilisent ces indicateurs pour publier les modèles WOL basés sur les paquets pris en charge par une carte réseau.

Pour plus d’informations sur ce membre, consultez la section Remarques. Pour plus d’informations sur les modèles WOL, consultez NDIS_PM_WOL_PATTERN.

NDIS_PM_WOL_BITMAP_PATTERN_SUPPORTED

La carte réseau peut générer un événement de mise en éveil lorsqu’elle reçoit un paquet qui correspond à un modèle bitmap configuré.

NDIS_PM_WOL_MAGIC_PACKET_SUPPORTED

La carte réseau peut générer un événement de mise en éveil lorsqu’elle reçoit un paquet magique WOL. Un paquet magique contient dans sa charge utile une chaîne de six octets avec une valeur de 0xFF, suivie immédiatement de 16 copies contiguës de l’adresse Ethernet de la carte réseau de réception.

NDIS_PM_WOL_IPV4_TCP_SYN_SUPPORTED

La carte réseau peut générer un événement de mise en éveil lorsqu’elle reçoit un paquet TCP SYN IPv4. Les hôtes distants envoient des paquets TCP SYN pour lancer une connexion TCP à l’ordinateur local.

NDIS_PM_WOL_IPV6_TCP_SYN_SUPPORTED

La carte réseau peut générer un événement de mise en éveil lorsqu’elle reçoit un paquet TCP SYN IPv6.

NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_SUPPORTED

Si cet indicateur est défini, la carte réseau prend en charge comme valeurs génériques toutes les valeurs vides ou non spécifiées pour les adresses IPv4 et les ports TCP/UDP dans un modèle WOL. De cette façon, la valeur générique correspond à n’importe quelle adresse IPv4 et toute valeur de port du paquet entrant à l’emplacement spécifié par le modèle WOL.

Lorsqu’une carte réseau prend en charge un modèle de paquets de veille basé sur IPv4 sur LAN, tel qu’un modèle TCP SYN IPv4, elle doit prendre en charge la génération d’un événement de mise en éveil si les adresses IPv4 et les valeurs de port du paquet entrant correspondent à celles spécifiées dans le modèle de mise en éveil.

Toutefois, si l’indicateur NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_SUPPORTED est défini, la carte réseau peut également générer un événement de mise en éveil si les conditions de correspondance de modèle suivantes sont remplies :

  • Toute valeur du paquet entrant à l’emplacement spécifié par le modèle WOL est une correspondance, si le modèle WOL pour cet emplacement contient une valeur générique.
  • Une valeur du paquet entrant à l’emplacement spécifié par le modèle WOL est une correspondance si le modèle WOL pour cet emplacement contient une valeur différente de zéro qui est égale à la valeur du paquet.
Le pilote miniport doit limiter les événements de mise en éveil aux ports et adresses IPv4 spécifiés, sauf si un pilote trop haut permet cette fonctionnalité.
Note Les valeurs génériques activées par cet indicateur peuvent inclure des adresses source et de destination IPv4 non spécifiées, ainsi que des ports source et de destination non spécifiés.
 

NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_SUPPORTED

Si cet indicateur est défini, la carte réseau prend en charge comme valeurs génériques toutes les valeurs vides ou non spécifiées pour les adresses IPv6 et les ports TCP/UDP dans un modèle WOL. De cette façon, la valeur générique correspond à n’importe quelle adresse IPv6 et à toute valeur de port du paquet entrant à l’emplacement spécifié par le modèle WOL.

Lorsqu’une carte réseau prend en charge un modèle de veille basé sur IPv6 sur un lan lan, tel qu’un modèle TCP SYN IPv6, elle doit prendre en charge la génération d’un événement de mise en éveil si les adresses IPv6 et les valeurs de port du paquet entrant correspondent à celles spécifiées dans le modèle de mise en éveil.

Toutefois, si l’indicateur NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_SUPPORTED est défini, la carte réseau peut également générer un événement de mise en éveil si les conditions de correspondance de modèle suivantes sont remplies :

  • Toute valeur du paquet entrant à l’emplacement spécifié par le modèle WOL est une correspondance, si le modèle WOL pour cet emplacement contient une valeur générique.
  • Une valeur du paquet entrant à l’emplacement spécifié par le modèle WOL est une correspondance si le modèle WOL pour cet emplacement contient une valeur différente de zéro qui est égale à la valeur du paquet.
Le pilote miniport doit limiter les événements de réveil aux ports et adresses IPv6 spécifiés, sauf si un pilote trop haut permet cette fonctionnalité.
Note Les valeurs génériques activées par cet indicateur peuvent inclure des adresses source et de destination IPv6 non spécifiées, ainsi que des ports source et de destination non spécifiés.
 

NDIS_PM_WOL_EAPOL_REQUEST_ID_MESSAGE_SUPPORTED

La carte réseau peut générer un événement de mise en éveil lorsqu’elle reçoit un message d’identificateur de requête EAPOL.

NumTotalWoLPatterns

Valeur ULONG qui contient le nombre total de modèles WOL pris en charge par une carte réseau. Il s’agit de la somme du « nombre de modèles de protocole WOL pris en charge » et du « nombre de modèles bitmap WOL pris en charge ».

Par exemple, si votre pilote prend en charge 8 modèles bitmap flexibles, IPv4 TCP SYN (via un filtre prédéfini) et un paquet magique, vous devez signaler 9 dans NumTotalWoLPatterns. (8 bitmaps + 1 IPv4 TCP SYN = 9)

Note Le nombre total de modèles WOL n’inclut pas le modèle de mise en éveil des paquets magiques.
 
Pour plus d’informations sur les modèles de protocole WOL, consultez NDIS_PM_WOL_PATTERN.

MaxWoLPatternSize

Valeur ULONG qui contient le nombre maximal d’octets pouvant être comparés à un modèle.

MaxWoLPatternOffset

Valeur ULONG qui contient le nombre d’octets d’un paquet qui peuvent être examinés, en commençant au début de l’en-tête MAC.

MaxWoLPacketSaveBuffer

Valeur ULONG qui contient le nombre d’octets d’un paquet WOL qu’un pilote miniport peut enregistrer dans une mémoire tampon et indiquer la pile de pilotes. Cette valeur doit être inférieure ou égale à la taille, en octets, de l’unité de transmission maximale (MTU) pour le média réseau. Le pilote signale la taille MTU par le biais des requêtes OID de OID_GEN_MAXIMUM_FRAME_SIZE.

Note Ce membre est ignoré dans NDIS 6.20 et les versions antérieures de NDIS. À compter de NDIS 6.30, ce membre doit contenir une valeur différente de zéro si l’indicateur NDIS_PM_WAKE_PACKET_INDICATION_SUPPORTED est défini dans le membre Flags .
 

SupportedProtocolOffloads

Valeur ULONG qui contient une OR au niveau du bit d’indicateurs qui spécifient les fonctionnalités de déchargement de protocole prises en charge par une carte réseau. Les pilotes miniport utilisent ces indicateurs pour signaler les fonctionnalités de déchargement du protocole de faible consommation d’une carte réseau.

NDIS_PM_PROTOCOL_OFFLOAD_ARP_SUPPORTED

Si ce bit est défini, la carte réseau peut répondre aux paquets ARP IPv4 alors qu’elle est à faible consommation d’énergie

Pour plus d’informations sur le protocole ARP, consultez RFC 826.

NDIS_PM_PROTOCOL_OFFLOAD_NS_SUPPORTED

Si ce bit est défini, la carte réseau peut répondre aux paquets de sollicitation de voisins IPv6 (NS) alors qu’elle est dans un état de faible consommation.

Pour plus d’informations sur les messages IPv6 NS, consultez RFC 4861.

NDIS_PM_PROTOCOL_OFFLOAD_80211_RSN_REKEY_SUPPORTED

La carte réseau peut répondre aux demandes de nouvelle clé RSN (Robust Security Network) IEEE 802.11i lorsqu’elle est dans un état de faible consommation.

NumArpOffloadIPv4Addresses

Valeur ULONG qui contient le nombre d’adresses IPv4 que l’adaptateur prend en charge pour le déchargement ARP.

NumNSOffloadIPv6Addresses

Valeur ULONG qui contient le nombre de demandes de déchargement IPv6 NS que l’adaptateur prend en charge. Cela doit être au moins 2.

Note Malgré son nom, numNSOffloadIPv6Addresses contient le nombre de demandes prises en charge, et non les adresses.
 

MinMagicPacketWakeUp

Spécifie l’état d’alimentation de l’appareil le plus bas à partir duquel une carte réseau peut signaler un événement de mise en éveil à la réception d’un paquet magique. Un paquet magique contient dans sa charge utile une chaîne de six octets avec une valeur de 0xFF, suivie immédiatement de 16 copies contiguës de l’adresse MAC de la carte réseau de réception.

Note Les états d’alimentation de l’appareil sont spécifiés par une valeur de Dx, où D0 est l’état d’alimentation de l’appareil le plus élevé et D3 est l’état d’alimentation de l’appareil le plus faible.
 
L’état d’alimentation de l’appareil est spécifié comme l’une des valeurs NDIS_DEVICE_POWER_STATE suivantes :

NdisDeviceStateUnspecified

La carte réseau ne prend pas en charge les réveils de paquets magiques.

Note Si le membre MinMagicPacketWakeUp a cette valeur, l’indicateur NDIS_PM_WOL_MAGIC_PACKET_SUPPORTED ne doit pas être défini dans le membre SupportedWoLPacketPatterns .
 

NdisDeviceStateD0

La carte réseau peut signaler une mise en éveil d’un paquet magique à partir de l’état d’alimentation de l’appareil D0. Étant donné que D0 est l’état entièrement alimenté, cela ne provoque pas de mise en éveil, mais peut être utilisé comme événement d’exécution.

Note À compter de NDIS 6.20, la signalisation d’une mise en éveil d’un paquet magique à partir de NdisDeviceStateD0 n’est plus prise en charge.
 

NdisDeviceStateD1

La carte réseau peut signaler une mise en éveil d’un paquet magique à partir d’un état d’alimentation D1 de l’appareil.

NdisDeviceStateD2

La carte réseau peut signaler une mise en éveil d’un paquet magique à partir d’un état d’appareil D2.

NdisDeviceStateD3

La carte réseau peut signaler une mise en éveil d’un paquet magique à partir d’un état d’alimentation D3 de l’appareil.

MinPatternWakeUp

Spécifie l’état d’alimentation du périphérique le plus bas à partir duquel une carte réseau peut signaler un événement de mise en éveil à la réception d’une trame réseau qui contient un modèle spécifié par le pilote de protocole. L’état d’alimentation est spécifié comme l’une des valeurs NDIS_DEVICE_POWER_STATE suivantes :

NdisDeviceStateUnspecified

La carte réseau ne prend pas en charge les réveils de correspondance de modèle.

Note Si le membre MinPatternWakeUp est défini sur cette valeur, seul l’indicateur NDIS_PM_WOL_MAGIC_PACKET_SUPPORTED peut être défini dans le membre SupportedWoLPacketPatterns .
 

NdisDeviceStateD0

La carte réseau peut signaler une mise en éveil de correspondance de modèle à partir de l’état d’alimentation de l’appareil D0. Étant donné que D0 est l’état entièrement alimenté, cela ne provoque pas de mise en éveil, mais peut être utilisé comme événement d’exécution.

Note À compter de NDIS 6.20, la signalisation d’une mise en éveil de correspondance de modèle à partir de NdisDeviceStateD0 n’est plus prise en charge.
 

NdisDeviceStateD1

La carte réseau peut signaler une mise en éveil de correspondance de modèle à partir d’un état d’alimentation de l’appareil D1.

NdisDeviceStateD2

La carte réseau peut signaler une mise en éveil de correspondance de modèle à partir d’un état d’alimentation de l’appareil D2.

NdisDeviceStateD3

La carte réseau peut signaler une mise en éveil de correspondance de modèle à partir d’un état d’alimentation de l’appareil D3.

MinLinkChangeWakeUp

À compter de NDIS 6.20, ce membre spécifie l’état d’alimentation de l’appareil le plus bas à partir duquel une carte réseau peut signaler un événement de mise en éveil lorsque l’état de liaison passe d’un média déconnecté à un média connecté.

À compter de NDIS 6.30, ce membre spécifie l’état d’alimentation de l’appareil le plus bas à partir duquel une carte réseau peut signaler les événements de réveil. Ces événements sont spécifiés dans le membre SupportedWakeUpEvents .

L’état d’alimentation est spécifié comme l’une des valeurs NDIS_DEVICE_POWER_STATE suivantes :

NdisDeviceStateUnspecified

La carte réseau ne prend pas en charge les réveils des modifications de liaison.

Note Si le membre MinLinkChangeWakeUp est défini sur cette valeur, le membreSupportedWakeUpEvents doit être défini sur zéro.
 

NdisDeviceStateD0

La carte réseau peut signaler une mise en éveil d’un changement de lien à partir de l’état d’alimentation de l’appareil D0. Étant donné que D0 est l’état entièrement alimenté, cela ne provoque pas de mise en éveil, mais peut être utilisé comme événement d’exécution.

Note À compter de NDIS 6.20, la signalisation d’une mise en éveil d’un changement de lien à partir de NdisDeviceStateD0 n’est plus prise en charge.
 

NdisDeviceStateD1

La carte réseau peut signaler une mise en éveil d’un changement de lien à partir d’un état d’alimentation de l’appareil D1.

NdisDeviceStateD2

La carte réseau peut signaler une mise en éveil d’un changement de lien à partir d’un état d’alimentation de l’appareil D2.

NdisDeviceStateD3

La carte réseau peut signaler une mise en éveil d’un changement de lien à partir d’un état d’alimentation de l’appareil D3.

SupportedWakeUpEvents

Valeur ULONG qui contient un OR au niveau du bit d’indicateurs. Ces indicateurs spécifient les événements de mise en éveil indépendants du média pris en charge par une carte réseau. Ces événements ne sont pas spécifiques au type de média.

À compter de NDIS 6.30, les indicateurs suivants sont définis :

NDIS_PM_WAKE_ON_MEDIA_CONNECT_SUPPORTED

Si cet indicateur est défini, la carte réseau peut générer un événement de mise en éveil lorsqu’elle est connectée à l’interface réseau.

NDIS_PM_WAKE_ON_MEDIA_DISCONNECT_SUPPORTED

Si cet indicateur est défini, la carte réseau peut générer un événement de mise en éveil lorsqu’elle est déconnectée de l’interface réseau.

MediaSpecificWakeUpEvents

Valeur ULONG qui contient un OR au niveau du bit d’indicateurs. Ces indicateurs spécifient les événements de mise en éveil spécifiques au média pris en charge par une carte réseau.

À compter de NDIS 6.30, les indicateurs suivants sont définis :

NDIS_WLAN_WAKE_ON_NLO_DISCOVERY_SUPPORTED

Si cet indicateur est défini, la carte réseau 802.11 peut générer un événement de mise en éveil si elle détecte un identificateur de jeu de services (SSID) qui a été spécifié via un déchargement de liste réseau (NLO).

Pour plus d’informations sur le NLO, consultez Déchargement de liste de réseaux Wi-Fi.

NDIS_WLAN_WAKE_ON_AP_ASSOCIATION_LOST_SUPPORTED

Si cet indicateur est défini, la carte réseau 802.11 peut générer un événement de mise en éveil si elle se dissocie du point d’accès (AP).

NDIS_WLAN_WAKE_ON_GTK_HANDSHAKE_ERROR_SUPPORTED

Si cet indicateur est défini, la carte réseau 802.11 peut générer un événement de mise en éveil si elle rencontre une erreur lors de l’établissement d’une clé de groupe RSN IEEE 802.11i (GTK) avec l’AP.

NDIS_WLAN_WAKE_ON_4WAY_HANDSHAKE_REQUEST_SUPPORTED

Si cet indicateur est défini, la carte réseau 802.11 peut générer un événement de mise en éveil si elle reçoit la première image de la liaison 4 voies IEEE 802.11i RSN avec le point d’accès. Cette négociation est effectuée lorsque l’adaptateur s’authentifie auprès du point d’accès.

NDIS_WWAN_WAKE_ON_REGISTER_STATE_SUPPORTED

Si cet indicateur est défini, la carte réseau haut débit mobile (Mo) peut générer un événement de mise en éveil si son état d’inscription au service Mo a changé.

NDIS_WWAN_WAKE_ON_SMS_RECEIVE_SUPPORTED

Si cet indicateur est défini, la carte réseau Mo peut générer un événement de mise en éveil si le service MB doit être averti de la réception d’un message SMS (Short Message Service). L’adaptateur génère cet événement de mise en éveil soit après l’achèvement d’une demande de requête OID_WWAN_SMS_READ précédemment émise, soit l’arrivée d’un nouveau message de classe 0 (flash/alerte) du fournisseur réseau en tant que notification d’événement.

NDIS_WWAN_WAKE_ON_USSD_RECEIVE_SUPPORTED

Si cet indicateur est défini, la carte réseau Mo peut générer un événement de mise en éveil si elle reçoit un message USSD (Unstructured Supplementary Service Data).

Remarques

La structure NDIS_PM_CAPABILITIES est utilisée dans le membre PowerManagementCapabilitiesEx du NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES et NDIS_BIND_PARAMETERS structures et dans le NDIS_STATUS_PM_CAPABILITIES_CHANGE indication status.

Lors de l’initialisation du miniport, le pilote miniport initialise une structure NDIS_PM_CAPABILITIES avec les fonctionnalités de gestion de l’alimentation du matériel de la carte réseau. Le pilote miniport définit ensuite le membre PowerManagementCapabilitiesEx de la structure NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES pour qu’il pointe vers la structure NDIS_PM_CAPABILITIES initialisée.

Un pilote trop important ne doit pas essayer d’activer les fonctionnalités qu’une carte réseau ne prend pas en charge. Pour permettre à un pilote en surploie de déterminer les fonctionnalités d’une carte réseau, NDIS fournit les fonctionnalités du membre PowerManagementCapabilitiesEx de la structure NDIS_BIND_PARAMETERS.

Note Les pilotes NDIS 6.20 doivent utiliser le membre PowerManagementCapabilitiesEx au lieu du membre PowerManagementCapabilities .
 
Le membre SupportedProtocolOffloads contient des indicateurs qui spécifient les fonctionnalités de déchargement de protocole prises en charge par une carte réseau. La carte réseau gère ces protocoles dans un état de faible consommation. Par exemple, si le matériel de la carte réseau peut gérer les paquets ARP IPv4 pour la pile de pilotes alors qu’elle est à faible consommation d’énergie, le pilote miniport définit le bit NDIS_PM_PROTOCOL_OFFLOAD_ARP_SUPPORTED dans SupportedProtocolOffloads.

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 (inclure Ntddndis.h)

Voir aussi

NDIS_BIND_PARAMETERS

NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES

NDIS_OBJECT_HEADER

NDIS_PM_WOL_PATTERN

NDIS_STATUS_PM_CAPABILITIES_CHANGE

NDIS_STATUS_PM_WAKE_REASON

NdisMIndicateReceiveNetBufferLists

NdisMIndicateStatusEx