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.
Le membre DeviceWake de DEVICE_CAPABILITIES contient l’état d’alimentation de l’appareil le plus bas (le moins alimenté) à partir duquel l’appareil peut signaler un événement de veille ou PowerDeviceUnspecified si l’appareil ne peut pas se réveiller en réponse à un signal externe.
Le pilote de bus définit cette valeur. Un pilote de niveau supérieur peut changer la valeur en un état de puissance supérieure. Par exemple, si le pilote de bus définit DeviceWake sur D3, mais qu’un pilote plus haut dans la pile des appareils prend uniquement en charge le réveil à partir de D2, le pilote de niveau supérieur peut changer la valeur en D2.
Notez que si un pilote modifie DeviceWake, il peut également être amené à modifier SystemWake pour éviter les conflits avec les mappages système-à-appareil dans le tableau DeviceState . Par exemple, supposons que le pilote de bus définit les éléments suivants :
DeviceState[PowerSystemSleeping1] = PowerDeviceD1
DeviceState[PowerSystemSleeping2] = PowerDeviceD3
DeviceWake = PowerDeviceD3
SystemWake = PowerSystemSleeping2
Si un pilote de niveau supérieur détermine que son appareil ne peut pas réveiller le système depuis l'état D3, mais seulement depuis D2 ou un niveau supérieur, il peut changer DeviceWake en D2. Toutefois, cette modification rend impossible le mappage de S2 à D3. N’oubliez pas que le tableau DeviceState répertorie l’état d’alimentation d’appareil le plus élevé qu’un appareil peut prendre en charge pour un état d’alimentation système donné. Si l’état de l’alimentation du système dans l’exemple est PowerSystemSleeping2, l’état de l’alimentation de l’appareil ne peut pas être PowerDeviceD2. Pour éliminer ce problème, le pilote doit également remplacer SystemWake par PowerSystemSleeping1. Il en va de même pour les paramètres WakeFromDx et DeviceDx . Un pilote doit s’assurer que les modifications apportées à SystemWake ou DeviceWake ne sont pas en conflit avec les valeurs WakeFromDx et DeviceDx . Les valeurs de WakeFromDx et DeviceDx reflètent les caractéristiques matérielles qu’un pilote ne peut pas modifier.
Si les membres SystemWake et DeviceWake sont non nuls (c'est-à-dire, pas PowerSystemUnspecified), alors l'appareil et ses pilotes prennent en charge le réveil sur ce système.
Sur le matériel non ACPI, le membre DeviceWake contient zéro (PowerSystemUnspecified).