Impedindo alterações de estado de energia do sistema
Embora os drivers não possam definir diretamente a política de energia do sistema, o power manager fornece três rotinas por meio das quais um driver pode impedir a transição do sistema para fora do estado de trabalho: PoSetSystemState, PoRegisterSystemState e PoUnregisterSystemState.
Ao chamar PoRegisterSystemState ou PoSetSystemState, um driver pode notificar o power manager de que um usuário está presente ou que o driver requer o uso do sistema ou da exibição.
PoRegisterSystemState permite que um driver registre um estado ocupado contínuo. Ele retorna um identificador por meio do qual o driver pode alterar suas configurações posteriormente. Enquanto o registro de estado estiver em vigor, o power manager não tentará colocar o sistema em suspensão. O driver cancela o registro de estado chamando PoUnregisterSystemState.
Com PoSetSystemState, um driver notifica o power manager das mesmas condições (usuário presente, sistema necessário, exibição necessária), mas essa configuração não é contínua. Ele tem o efeito de reiniciar quaisquer contagens inativas associadas às condições especificadas.
Usando essas rotinas, um driver pode evitar muitas, mas não todas, transições para fora do estado de trabalho. O power manager sempre desliga o sistema quando a perda de energia é iminente ou quando um usuário solicita explicitamente o desligamento.