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