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 DeviceState de DEVICE_CAPABILITIES est un tableau de valeurs DEVICE_POWER_STATE indexées par SYSTEM_POWER_STATE valeurs allant de PowerSystemWorking à PowerSystemShutdown. Chaque élément du tableau contient l’état maximal (le plus élevé) de l’appareil que l’appareil peut prendre en charge pour l’état de l’alimentation du système indiqué par l’index, ou PowerDeviceUnspecified si l’état de l’alimentation du système n’est pas pris en charge.
Par exemple, sur un système qui prend uniquement en charge les états d’alimentation du système S0, S4 et S5, le tableau DeviceState pour un appareil qui prend uniquement en charge les états D0 et D3 contient les valeurs indiquées dans le tableau suivant.
| Élément DeviceState | Valeur |
|---|---|
DeviceState[PowerSystemWorking] |
PowerDeviceD0 |
DeviceState[PowerSystemSleeping1] |
PowerDeviceUnspecified |
DeviceState[PowerSystemSleeping2] |
PowerDeviceUnspecified |
DeviceState[PowerSystemSleeping3] |
PowerDeviceUnspecified |
DeviceState[PowerSystemHibernate] |
PowerDeviceD3 |
DeviceState[PowerSystemShutdown] |
PowerDeviceD3 |
Sur un système qui prend en charge tous les états d’alimentation du système, le tableau suivant répertorie les valeurs que le tableau contient pour un appareil qui doit être dans l’état D2 ou inférieur chaque fois que le système passe à n’importe quel état de veille intermédiaire et dans l’état D3 lorsque le système est mis en veille prolongée.
| Élément DeviceState | Valeur |
|---|---|
DeviceState[PowerSystemWorking] |
PowerDeviceD0 |
DeviceState[PowerSystemSleeping1] |
PowerDeviceD2 |
DeviceState[PowerSystemSleeping2] |
PowerDeviceD2 |
DeviceState[PowerSystemSleeping3] |
PowerDeviceD2 |
DeviceState[PowerSystemHibernate] |
PowerDeviceD3 |
DeviceState[PowerSystemShutdown] |
PowerDeviceD3 |
Notez que les entrées du tableau DeviceState indiquent l’état d’alimentation de l’appareil le plus élevé que l’appareil peut prendre en charge pour l’état d’alimentation du système correspondant. Dans l’exemple précédent, l’appareil peut être dans l’état D3 pour n’importe quel état d’alimentation du système, dans l’état D2 pour les états d’alimentation du système de PowerSystemWorking jusqu'à PowerSystemSleeping3, et dans l’état D1 pour l'état du système PowerSystemWorking.
Le pilote de bus ou le filtre ACPI définit ces valeurs en fonction des fonctionnalités du nœud d’appareil parent.
En règle générale, les pilotes de niveau supérieur ne doivent pas modifier ces valeurs. Toutefois, dans les rares cas où une telle modification est nécessaire, un pilote peut spécifier un état inférieur (moins énergivore) à celui initialement renvoyé par le pilote de bus ou le filtre ACPI. Par exemple, supposons que DeviceState[PowerSystemSleeping1] est mappé à PowerDeviceD2, comme dans le tableau ci-dessus. Un pilote peut remplacer cette valeur par PowerDeviceD3, mais pas par PowerDeviceD1 ou PowerDeviceD0.