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.
Avant que le pilote propriétaire de la stratégie d’alimentation (PPO) d’un appareil ne permette à l’appareil d’entrer dans D3cold (lorsque l’ordinateur doit rester dans S0), le pilote doit vérifier que l’appareil sera réactif et continuera à fonctionner correctement après que l’appareil entre dans D3cold.
Pour un appareil Plug-and-Play (PnP), le système d’exploitation obtient généralement des informations sur les fonctionnalités D3cold de l’appareil à partir du pilote de bus parent.
Par exemple, si un appareil est attaché à un bus PCI ou PCI Express, l’espace de configuration PCI de l’appareil contient un bloc d’enregistrement de gestion de l’alimentation qui indique les fonctionnalités de l’appareil. Les indicateurs de capacité de ce bloc spécifient les états d’alimentation de l’appareil à partir desquels l’appareil peut signaler un événement de gestion de l’alimentation ou PME (terme PCI pour un événement de veille). Ces états peuvent inclure D3hot et D3cold. Pour plus d’informations sur la gestion de l’alimentation PCI, consultez la spécification de l’interface de gestion de l’alimentation PCI Bus.
Si un appareil doit être en mesure de signaler un événement de sortie de veille à partir de tout état Dx à faible consommation d'énergie qu'il atteint, l’appareil ne doit pas entrer en D3cold, sauf si l'appareil, le contrôleur de bus parent et la plateforme matérielle prennent en charge la signalisation d’un événement de sortie de veille à partir de D3cold.
Le pilote KMDF d’un appareil appelle la méthode WdfDeviceAssignS0IdleSettings pour permettre à l’appareil d’être inactif dans l’état d’alimentation de l’appareil le plus bas à partir duquel l’appareil peut signaler un événement de réveil. À compter de KMDF version 1.11, WdfDeviceAssignS0IdleSettings inclut D3cold dans la plage d’états Dx à faible puissance possibles. Cette méthode permet à un appareil d'être inactif dans D3cold uniquement si l’appareil, le pilote du bus parent et le microprogramme du système ACPI prennent en charge la signalisation des événements de réveil depuis D3cold.
Le pilote WDM d’un appareil doit décider de l’état Dx à faible alimentation vers lequel déplacer l’appareil lorsque l’appareil est inactif. (En revanche, WdfDeviceAssignS0IdleSettings sélectionne automatiquement cet état Dx afin que le pilote n’ait pas à le faire.) Si l’appareil doit être en mesure de signaler un événement de veille à partir d’un état Dx à faible alimentation qu’il entre, le pilote peut appeler la routine GetIdleWakeInfo pour déterminer l’état d’alimentation de l’appareil le plus bas à partir duquel l’appareil peut signaler un événement de veille. Pour obtenir ces informations, GetIdleWakeInfo interroge le pilote de bus sous-jacent et le microprogramme système ACPI. En fonction des informations de GetIdleWakeInfo, le pilote peut appeler la routine SetD3ColdSupport pour activer ou désactiver les transitions de l’appareil vers D3cold.
Un appareil peut ne pas nécessiter la possibilité de signaler un événement de veille à partir de D3cold. L’appareil peut plutôt être nécessaire pour effectuer la transition de D3cold à D0 uniquement en réponse aux actions initiées par le logiciel. Par exemple, le pilote peut avoir besoin de réveiller l’appareil si le pilote reçoit une demande d’E/S pour l’appareil. À quelques exceptions près, le pilote d’un tel appareil peut permettre à l’appareil d’entrer dans D3cold. Une exception possible est un appareil qui nécessite une grande quantité de temps pour effectuer une transition de D3cold à D0. Par exemple, un dispositif d'affichage peut contenir une grande quantité de mémoire qui doit être sauvée avant que l'appareil entre dans D3cold et restaurée après que l'appareil sorte du D3cold.
Pour plus d’informations sur la prise en charge d’ACPI pour D3cold, consultez Exigences du microprogramme pour D3cold.