Ações de Energia do Sistema
Quando o power manager envia um IRP para definir ou consultar o estado de energia do sistema, ele especifica um estado de energia do sistema juntamente com um parâmetro adicional que fornece informações sobre a alteração do estado de energia. Esse parâmetro, passado em Irp-Parameters.Power.ShutdownType>, é um enumerador do tipo POWER_ACTION. O enumerador caracteriza a solicitação de estado de energia do sistema, conforme mostrado na tabela a seguir.
enumerador POWER_ACTION | Estado de energia do sistema solicitado |
---|---|
PowerActionNone |
S0 ou nenhum IRP de energia do sistema ativo |
PowerActionSleep |
S1, S2 ou S3 |
PowerActionHibernate |
S4 |
PowerActionShutdown (somente sistemas Microsoft Windows 2000 e posteriores) |
S5 |
PowerActionShutdownReset |
S5 |
PowerActionShutdownOff |
S5 |
Quando um driver recebe uma consulta do sistema ou um IRP de configuração para S5, ele pode marcar ShutdownType para obter mais informações sobre o desligamento solicitado. Um driver pode usar essas informações para otimizar sua sequência de desligamento quando o computador estiver sendo redefinido em vez de desligar a energia indefinidamente. Os drivers da maioria dos dispositivos retêm a energia quando o sistema é redefinido. No entanto, para determinados dispositivos, como um dispositivo de streaming de vídeo que executa DMA (acesso direto à memória), um driver pode optar por desligar seu dispositivo quando o sistema estiver sendo redefinido, interrompendo assim qualquer E/S contínua.
Quando um proprietário de política de energia do dispositivo envia um IRP de energia do dispositivo para sua pilha de dispositivos em resposta a um IRP de energia do sistema, os drivers podem usar o parâmetro ShutdownType para obter informações sobre o IRP de energia do sistema atual. Nesse caso, o valor de ShutdownType indica o estado de energia do sistema atualmente solicitado ou é PowerActionNone se uma solicitação do sistema não estiver pendente. Os drivers não devem, no entanto, depender dessas informações se o IRP do dispositivo solicitar o estado D0.
No Windows 98/Me, esse membro sempre contém PowerActionNone quando o IRP solicita um estado de energia do dispositivo.