Vue d’ensemble des indications d’état du motif de veille NDIS
À compter de NDIS 6.30, les pilotes miniports émettent une raison de veille NDIS status indication (NDIS_STATUS_PM_WAKE_REASON) pour informer NDIS et les pilotes qui se mentent sur la raison d’un événement de mise en éveil du système. Si la carte réseau génère un événement de mise en éveil, le pilote miniport émet immédiatement un NDIS status’indication de NDIS_STATUS_PM_WAKE_REASON lorsque la carte réseau reprend son état d’alimentation totale.
Note La prise en charge de la raison du réveil NDIS status indications est facultative pour les pilotes miniports à haut débit mobile (Mo).
Le pilote miniport est configuré avec des paramètres de gestion de l’alimentation (PM) par le biais d’une demande de jeu d’identificateur d’objet (OID) de OID_PM_PARAMETERS. Cette requête OID spécifie les paramètres pm via une structure NDIS_PM_PARAMETERS .
La structure NDIS_PM_PARAMETERS spécifie les paramètres pour les types d’événements de mise en éveil suivants.
Événements de veille des paquets reçus
La carte réseau génère un événement de mise en éveil si elle reçoit un paquet correspondant à un modèle wol (wake-on-LAN). Les modèles WOL incluent les éléments suivants :
Modèles WOL indépendants des médias, tels que les paquets magiques ou les modèles de données TCP/IP dans la charge utile des paquets. Par exemple, la structure NDIS_PM_PARAMETERS peut spécifier un modèle WOL pour une trame TCP SYN.
Modèles WOL spécifiques aux médias, tels qu’un paquet d’identificateur de requête EAPOL ou un message SMS (Short Message Service) à haut débit mobile (Mo).
Modèles génériques qui correspondent à un filtre de réception spécifié par le biais d’une demande de jeu OID de OID_GEN_CURRENT_PACKET_FILTER.
Note Pour ce type de raison de veille status indication, la carte réseau doit être en mesure d’enregistrer le paquet reçu. Le pilote doit retourner le paquet reçu dans l’indication status.
Les modèles WOL sont spécifiés via le membre EnabledWoLPacketPatterns de la structure NDIS_PM_PARAMETERS .
Événements de mise en éveil spécifiques aux médias
La carte réseau génère un événement de mise en éveil en raison d’une raison spécifique au média, telle qu’une dissociation d’un point d’accès 802.11 ou la réception d’un message SMS (Short Message Service) à haut débit mobile (Mo).
Les événements de réveil de ce type sont spécifiés via le membre MediaSpecificWakeUpEvents de la structure NDIS_PM_PARAMETERS .
Événements de réveil indépendant des médias
La carte réseau génère un événement de mise en éveil en raison d’une raison indépendante du média, telle que la connexion ou la déconnexion d’un média.
Les événements de mise en éveil de ce type sont spécifiés via le membre WakeUpFlags de la structure NDIS_PM_PARAMETERS .
Le pilote miniport doit suivre ces instructions pour la raison du réveil NDIS status indications :
Si le pilote miniport prend en charge la possibilité d’émettre des indications de paquet de veille, il doit signaler cette capacité lorsque NDIS appelle la fonction MiniportInitializeEx du pilote. Pour plus d’informations, consultez Reporting Wake Reason Status Indication Capabilities.
Note Le pilote miniport n’a pas à signaler sa capacité à émettre le motif de veille NDIS status des indications pour les événements qui ne sont pas liés à la réception d’un paquet WOL.
Lorsque le pilote miniport émet une indication de paquet de veille pour un paquet WOL, il doit inclure le paquet qui a provoqué l’événement de mise en éveil. Pour plus d’informations, consultez Émission des indications d’état du motif de veille NDIS.
Si la carte réseau a généré un signal de mise en éveil, le pilote miniport doit émettre une indication NDIS_STATUS_PM_WAKE_REASON status. Le pilote effectue cette opération lorsqu’il gère la demande de jeu OID de OID_PNP_SET_POWER pour la transition vers un état d’alimentation totale.
Le pilote miniport doit émettre une indication NDIS_STATUS_PM_WAKE_REASON status avant d’émettre une indication de status liée à l’événement de mise en éveil. Par exemple, si l’événement de réveil est dû à une modification de l’état de connectivité multimédia, le pilote miniport doit émettre une NDIS_STATUS_LINK_STATE status indication après avoir émis l’indication NDIS_STATUS_PM_WAKE_REASON status.
Le pilote miniport doit envoyer une indication NDIS_STATUS_PM_WAKE_REASON status uniquement pour les événements de gestion de l’alimentation qui étaient précédemment activés via une demande d’ensemble OID de OID_PM_PARAMETERS.
Le pilote miniport doit émettre une indication NDIS_STATUS_PM_WAKE_REASON status uniquement pour les événements de réveil générés par la carte réseau sous-jacente.