Partager via


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 de l'd’en-tête sur NDIS_OBJECT_TYPE_DEFAULT. Pour spécifier la version de la structure de NDIS_PM_CAPABILITIES, le pilote doit définir le membre révision du d’en-tête sur la valeur suivante :

NDIS_PM_CAPABILITIES_REVISION_2

Ajout de différentes modifications pour NDIS 6.30.

Définissez le membre taille sur NDIS_SIZEOF_NDIS_PM_CAPABILITIES_REVISION_2.

NDIS_PM_CAPABILITIES_REVISION_1

Version d’origine de NDIS 6.20.

Définissez le membre Size sur NDIS_SIZEOF_NDIS_PM_CAPABILITIES_REVISION_1.

Flags

Valeur de ULONG qui contient une OU d’indicateurs au niveau du bit. 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 plein alimentation :

Pour plus d’informations sur cette fonctionnalité de gestion de l’alimentation, consultez indications d’état de la raison du réveil NDIS.

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 de suspension sélective NDIS.

SupportedWoLPacketPatterns

Valeur ULONG qui contient un OR au niveau du bit des indicateurs qui spécifient les modèles WOL (wake-on-LAN) pris en charge par une carte réseau. Les pilotes miniport utilisent ces indicateurs pour publier des modèles WOL basés sur des 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 valeurs génériques les valeurs vides ou non spécifiées, les valeurs des adresses IPv4 et des 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 réveil basé sur IPv4 sur un modèle de paquet LAN, tel qu’un modèle TCP SYN IPv4, il 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 vraies :

  • 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 correspond à la valeur du paquet.
Le pilote miniport doit limiter les événements de mise en éveil aux adresses et ports IPv4 spécifiés, sauf si un pilote surdimensionné active cette fonctionnalité.
Remarque 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 les valeurs génériques toutes les valeurs vides ou non spécifiées, les valeurs des adresses IPv6 et des 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 réveil basé sur IPv6 sur un modèle de paquet LAN, tel qu’un modèle TCP SYN IPv6, il 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 de 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 vraies :

  • 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 correspond à la valeur du paquet.
Le pilote miniport doit restreindre les événements de mise en éveil aux adresses et ports IPv6 spécifiés, sauf si un pilote surdimensionné active cette fonctionnalité.
Remarque 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 demande 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)

Remarque 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 pouvant être examiné, 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 des pilotes. Cette valeur doit être inférieure ou égale à la taille, en octets, de l’unité de transmission maximale (MTU) pour le support réseau. Le pilote signale la taille MTU par le biais de requêtes OID de OID_GEN_MAXIMUM_FRAME_SIZE.

Remarque Ce membre est ignoré dans NDIS 6.20 et 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 les indicateurs membre.
 

SupportedProtocolOffloads

Valeur de ULONG qui contient une ou 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 de protocole à faible alimentation 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 dans un état d’alimentation faible

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 voisin IPv6 (NS) alors qu’elle est dans un état d’alimentation faible.

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

NDIS_PM_PROTOCOL_OFFLOAD_80211_RSN_REKEY_SUPPORTED

La carte réseau peut répondre aux demandes de réaménage de la clé IEEE 802.11i Robust Security Network (RSN) alors qu’elle est dans un état d’alimentation faible.

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. Il doit s’agir d’au moins 2.

Remarque Malgré son nom, la NumNSOffloadIPv6Addresses contient le nombre de requêtes 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 lors de 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.

Remarque États d’alimentation de l’appareil sont spécifiés par la valeur 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 bas.
 
L’état de l’alimentation de l’appareil est spécifié comme l’une des valeurs de NDIS_DEVICE_POWER_STATE suivantes :

NdisDeviceStateUnspecified

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

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

NdisDeviceStateD0

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

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

NdisDeviceStateD1

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

NdisDeviceStateD2

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

NdisDeviceStateD3

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

MinPatternWakeUp

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’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 de NDIS_DEVICE_POWER_STATE suivantes :

NdisDeviceStateUnspecified

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

Remarque 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.

Remarque À partir 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 d’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 du lien passe du média déconnecté au 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 mise en éveil. Ces événements sont spécifiés dans le membre SupportedWakeUpEvents.

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

NdisDeviceStateUnspecified

La carte réseau ne prend pas en charge les changements de mise en éveil des liens.

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

NdisDeviceStateD0

La carte réseau peut signaler un changement de mise en éveil du 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.

Remarque À partir de NDIS 6.20, la signalisation d’une mise en éveil des modifications de lien à partir de NdisDeviceStateD0 n’est plus prise en charge.
 

NdisDeviceStateD1

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

NdisDeviceStateD2

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

NdisDeviceStateD3

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

SupportedWakeUpEvents

Valeur de ULONG qui contient une OU d’indicateurs au niveau du bit. Ces indicateurs spécifient les événements de mise en éveil indépendants des médias qu’une carte réseau prend en charge. 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 devient 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 devient déconnectée de l’interface réseau.

MediaSpecificWakeUpEvents

Valeur de ULONG qui contient une OU d’indicateurs au niveau du bit. Ces indicateurs spécifient les événements de mise en éveil spécifiques aux médias qu’une carte réseau prend en charge.

À 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 s’il détecte un identificateur de jeu de services (SSID) spécifié par le biais d’un déchargement de liste réseau (NLO).

Pour plus d’informations sur le NLO, consultez Wi-Fi network list offload.

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 s’il dissocie le 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 s’il rencontre une erreur pendant l’établissement d’une liaison de clé temporaire 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 s’il reçoit la première image de l’établissement d’une liaison 802.11i RSN 4direction avec l’API. Cette négociation est effectuée lorsque l’adaptateur s’authentifie auprès de l’API.

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 Mo 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 après l’achèvement d’une demande de requête OID_WWAN_SMS_READ précédemment émise, ou 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 s’il reçoit un message USSD (Unstructured Supplémentaire Service Data).

Remarques

La structure NDIS_PM_CAPABILITIES est utilisée dans le membre PowerManagementCapabilitiesEx du structures NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES et NDIS_BIND_PARAMETERS et dans les NDIS_STATUS_PM_CAPABILITIES_CHANGE indication d’état.

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

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

Remarque pilotes NDIS 6.20 doivent utiliser le membre PowerManagementCapabilitiesEx au lieu du membre PowerManagementCapabilities.
 
Les SupportedProtocolOffloads membre contiennent 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 d’alimentation faible. Par exemple, si le matériel de carte réseau peut gérer les paquets ARP IPv4 pour la pile des pilotes alors qu’il est dans un état de faible alimentation, le pilote miniport définit le bit NDIS_PM_PROTOCOL_OFFLOAD_ARP_SUPPORTED dans SupportedProtocolOffloads.

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_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