Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O membro DeviceState do DEVICE_CAPABILITIES é uma matriz de valores DEVICE_POWER_STATE indexados por valores SYSTEM_POWER_STATE que vão de PowerSystemWorking a PowerSystemShutdown. Cada elemento da matriz contém o estado máximo de energia do dispositivo (mais alto) que o dispositivo pode dar suporte para o estado de energia do sistema indicado pelo índice ou PowerDeviceUnspecified se o estado de energia do sistema não tiver suporte.
Por exemplo, em um sistema que dá suporte apenas a estados de energia do sistema S0, S4 e S5, a matriz DeviceState para um dispositivo que dá suporte apenas aos estados D0 e D3 contém os valores mostrados na tabela a seguir.
| Elemento DeviceState | Valor |
|---|---|
DeviceState[PowerSystemWorking] |
PowerDeviceD0 |
DeviceState[PowerSystemSleeping1] |
PowerDeviceUnspecified |
DeviceState[PowerSystemSleeping2] |
PowerDeviceUnspecified |
DeviceState[PowerSystemSleeping3] |
PowerDeviceUnspecified |
DeviceState[PowerSystemHibernate] |
PowerDeviceD3 |
DeviceState[PowerSystemShutdown] |
PowerDeviceD3 |
Em um sistema que dá suporte a 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 do dispositivo mais alto que o dispositivo pode dar suporte 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 até PowerSystemSleeping3, e no estado D1 para o estado do sistema PowerSystemWorking.
O driver de barramento ou o filtro ACPI define esses valores com base nos recursos 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 essa alteração é necessária, um motorista pode especificar um estado menor (menos alimentado) do que o driver de ônibus ou o filtro ACPI retornado originalmente. Por exemplo, suponha que DeviceState[PowerSystemSleeping1] é mapeado para PowerDeviceD2, como na tabela acima. Um driver pode alterar esse valor para PowerDeviceD3, mas não para PowerDeviceD1 ou PowerDeviceD0.