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.