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 :
- Le pilote miniport doit être en mesure d’indiquer le paquet en appelant NdisMIndicateReceiveNetBufferLists.
- Le pilote miniport doit être en mesure d’émettre une indication NDIS_STATUS_PM_WAKE_REASON status et doit transmettre le paquet avec l’indication.
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.
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.
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)
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.
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.
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.
NdisDeviceStateUnspecified
La carte réseau ne prend pas en charge les réveils de paquets magiques.
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.
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.
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.
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.
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.
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.
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) |