Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
DeviceState-medlemmen i DEVICE_CAPABILITIES är en matris med DEVICE_POWER_STATE värden som indexeras av SYSTEM_POWER_STATE värden som sträcker sig från PowerSystemWorking till PowerSystemShutdown. Varje element i matrisen innehåller enhetens högsta möjliga energitillstånd som enheten kan stödja för systemets kraftläge som anges med indexet, eller PowerDeviceUnspecified om systemets kraftläge inte stöds.
I ett system som till exempel endast stöder S0-, S4- och S5-systemkrafttillstånd innehåller DeviceState-matrisen för en enhet som endast stöder D0- och D3-tillstånden de värden som visas i följande tabell.
| DeviceState-element | Värde |
|---|---|
DeviceState[PowerSystemWorking] |
PowerDeviceD0 |
DeviceState[PowerSystemSleeping1] |
PowerDeviceUnspecified |
DeviceState[PowerSystemSleeping2] |
PowerDeviceUnspecified |
DeviceState[PowerSystemSleeping3] |
PowerDeviceUnspecified |
DeviceState[PowerSystemHibernate] |
PowerDeviceD3 |
DeviceState[PowerSystemShutdown] |
PowerDeviceD3 |
I ett system som stöder alla systemkrafttillstånd visar följande tabell de värden som matrisen skulle innehålla för en enhet som måste vara i D2-tillstånd eller lägre när systemet övergår till något mellanliggande viloläge och i D3-tillståndet när systemet viloläge.
| DeviceState-elementet | Värde |
|---|---|
DeviceState[PowerSystemWorking] |
PowerDeviceD0 |
DeviceState[PowerSystemSleeping1] |
PowerDeviceD2 |
DeviceState[PowerSystemSleeping2] |
PowerDeviceD2 |
DeviceState[PowerSystemSleeping3] |
PowerDeviceD2 |
DeviceState[PowerSystemHibernate] |
PowerDeviceD3 |
DeviceState[PowerSystemShutdown] |
PowerDeviceD3 |
Observera att posterna i DeviceState-matrisen anger det högsta enhetskrafttillstånd som enheten kan stödja för motsvarande systemkrafttillstånd. I föregående exempel kan enheten vara i tillstånd D3 för alla systemkrafttillstånd, tillstånd D2 för systemkrafttillstånd PowerSystemWorking via PowerSystemSleeping3 och tillstånd D1 för systemtillståndet PowerSystemWorking.
Bussdrivrutinen eller ACPI-filtret anger dessa värden baserat på funktionerna i den överordnade enhetsnoden.
Som en allmän regel bör drivrutiner på högre nivå inte ändra dessa värden. Men i de sällsynta fall då en sådan ändring är nödvändig kan en drivrutin ange ett lägre (lägre strömförbrukande) tillstånd än bussdrivrutinen eller ACPI-filtret som det ursprungligen returnerade. Anta till exempel att DeviceState[PowerSystemSleeping1] mappar till PowerDeviceD2, som i tabellen ovan. En drivrutin kan ändra det här värdet till PowerDeviceD3, men inte till PowerDeviceD1 eller PowerDeviceD0.