Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Toutes les versions de Windows permettent à un appareil d’être en D3cold pendant que l’ordinateur est en veille (dans l’un des états de faible consommation du système, S1 à S4). Avant que l’ordinateur ne quitte S0, les pilotes de fonction, les pilotes de bus et les pilotes de filtre travaillent ensemble pour déplacer l’appareil vers D3hot. Lorsque l’ordinateur entre dans l’état Sx à faible consommation, cette transition a pour effet secondaire de déplacer l’appareil de D3hot vers D3cold.
À compter de Windows 8, un appareil peut entrer et quitter D3cold tant que l’ordinateur reste dans S0. Le pilote qui est le propriétaire de la stratégie d’alimentation (PPO) d’un appareil peut activer et désactiver ces transitions vers D3cold. Un pilote ne doit pas autoriser son appareil à entrer D3cold, sauf si l’appareil peut, si nécessaire, sortir de D3cold, puis reprendre un fonctionnement normal après la transition vers D0.
Lorsqu’un appareil entre dans D3, il entre initialement dans le sous-état D3hot de D3. À partir de D3hot, l’appareil peut entrer D0 ou D3cold. En réponse à un événement de veille ou à une demande d’E/S, l’appareil entre D0 à partir de D3hot. Sinon, l’appareil peut rester dans D3hot ou passer de D3hot à D3cold. Pour plus d’informations sur ces transitions, consultez le diagramme d’état de l’alimentation de l’appareil dans États d’alimentation des appareils.
Le pilote n’initie pas la transition de l’appareil de D3hot à D3cold. Au lieu de cela, cette transition se produit lorsque tous les autres appareils qui partagent une source d’alimentation commune avec cet appareil sont en D3hot et sont prêts à entrer D3cold. Lorsque le dernier de ces appareils entre dans D3hot, les pilotes de bus sous-jacents et le microprogramme système suppriment la source d’alimentation et les appareils entrent D3cold à l’unisson.
Le pilote PPO d’un appareil indique au système d’exploitation s’il faut activer la transition de l’appareil de D3hot à D3cold. Le pilote peut fournir ces informations dans le fichier INF qui installe l’appareil, ou le pilote peut appeler la routine SetD3ColdSupport au moment de l’exécution pour activer ou désactiver dynamiquement les transitions de l’appareil vers D3cold. Pour plus d’informations, consultez Utilisation de l’interface du pilote GUID_D3COLD_SUPPORT_INTERFACE.
En permettant à un appareil d’entrer D3cold, un pilote garantit le comportement suivant :
- L’appareil peut tolérer une transition de D3hot à D3cold lorsque l’ordinateur doit rester dans S0.
- L’appareil fonctionne correctement lorsqu’il retourne à D0 à partir de D3cold.
Un appareil qui ne répond pas à l’une ou l’autre exigence peut, après avoir entré D3cold, être indisponible jusqu’à ce que l’ordinateur soit redémarré ou entre dans un état de mise en veille. Si l’appareil doit être en mesure de signaler un événement de veille à partir d’un état Dx de faible puissance qu’il entre, l’entrée dans D3cold ne doit pas être activée, sauf si le pilote est certain que le signal de veille de l’appareil fonctionnera dans D3cold.
Placer un appareil dans D3cold ne signifie pas nécessairement que toutes les sources d’alimentation de l’appareil ont été supprimées ; cela signifie uniquement que les sources d’alimentation qui permettent la communication avec l’appareil via le bus ont disparu. L’appareil peut toujours être en mesure de tirer suffisamment de puissance pour signaler un événement de veille au processeur. Par exemple, une interface réseau Ethernet carte (NIC) dont main source d’alimentation est supprimée peut tirer l’alimentation du câble Ethernet.
Étant donné que D3cold est un état dans lequel le bus ne peut pas être utilisé pour communiquer avec l’appareil, un pilote ne peut pas placer son appareil directement dans D3cold. Au lieu de cela, le pilote appelle d’abord la routine PoRequestPowerIrp pour demander un IRP d’alimentation D3 (une requête IRP_MN_SET_POWER avec l’état cible = PowerDeviceD3) pour déplacer l’appareil de D0 vers D3hot. Après avoir entré D3hot, l’appareil peut ou non passer de D3hot à D3cold. L’appareil n’entre dans D3cold que lorsque l’alimentation du bus est supprimée, ce qui se produit si le pilote de bus parent éteint le bus ou si le microprogramme système désactive l’alimentation d’une section de la plateforme matérielle.