Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O membro DeviceState do DEVICE_CAPABILITIES é uma matriz de valores de DEVICE_POWER_STATE que são indexados por valores de SYSTEM_POWER_STATE que variam de PowerSystemWorking a PowerSystemShutdown. Cada elemento da matriz contém o estado de energia máximo (com maior potência) do dispositivo que o dispositivo pode suportar para o estado de energia do sistema indicado pelo índice, ou PowerDeviceUnspecified se o estado de energia do sistema não for suportado.
Por exemplo, em um sistema que suporta apenas os estados de energia do sistema S0, S4 e S5, a matriz DeviceState para um dispositivo que suporta apenas os estados D0 e D3 contém os valores mostrados na tabela a seguir.
| Elemento DeviceState | Valor |
|---|---|
DeviceState[PowerSystemWorking] |
PowerDeviceD0 |
DeviceState[PowerSystemSleeping1] |
PowerDevice Não especificado |
DeviceState[PowerSystemSleeping2] |
DispositivoDeEnergiaNãoEspecificado |
DeviceState[PowerSystemSleeping3] |
PowerDeviceNão especificado |
DeviceState[PowerSystemHibernate] |
PowerDeviceD3 |
DeviceState[PowerSystemShutdown] |
PowerDeviceD3 |
Em um sistema que suporta todos os estados de energia do sistema, a tabela a seguir lista os valores que a matriz conteria para um dispositivo que deve estar no estado D2 ou inferior sempre que o sistema for para qualquer estado de suspensão intermediário e no estado D3 quando o sistema hibernar.
| Elemento DeviceState | Valor |
|---|---|
DeviceState[PowerSystemWorking] |
PowerDeviceD0 |
DeviceState[PowerSystemSleeping1] |
PowerDeviceD2 |
DeviceState[PowerSystemSleeping2] |
PowerDeviceD2 |
DeviceState[PowerSystemSleeping3] |
PowerDeviceD2 |
DeviceState[PowerSystemHibernate] |
PowerDeviceD3 |
DeviceState[PowerSystemShutdown] |
PowerDeviceD3 |
Observe que as entradas na matriz DeviceState significam o estado de energia mais alto do dispositivo que o dispositivo pode suportar para o estado de energia do sistema correspondente. No exemplo anterior, o dispositivo pode estar no estado D3 para qualquer estado de energia do sistema, no estado D2 para estados de energia do sistema de PowerSystemWorking a PowerSystemSleeping3, e no estado D1 para o estado de energia do sistema PowerSystemWorking.
O controlador de barramento ou filtro ACPI define esses valores com base nas capacidades do nó do dispositivo pai.
Como regra geral, os drivers de nível superior não devem alterar esses valores. No entanto, nas raras circunstâncias em que tal alteração é necessária, um driver pode especificar um estado inferior (menos potente) do que o driver de barramento ou filtro ACPI retornado originalmente. Por exemplo, suponha que DeviceState[PowerSystemSleeping1] mapeia para PowerDeviceD2, como na tabela acima. Um driver pode alterar esse valor para PowerDeviceD3, mas não para PowerDeviceD1 ou PowerDeviceD0.