Compartilhar via


Manipulando IRP_MN_SET_POWER para estados de energia do sistema

O power manager envia um IRP de energia que especifica o código secundário IRP_MN_SET_POWER e um estado de energia do sistema por um dos seguintes motivos:

  • Para alterar o estado de energia do sistema.

  • Para reafirmar o estado de energia atual após uma solicitação de IRP_MN_QUERY_POWER com falha.

Por meio do gerenciador de E/S, o power manager envia o IRP para o driver superior na pilha do dispositivo em cada nó de dispositivo PnP. O IRP notifica todos os drivers na pilha do estado correto de energia do sistema.

Para garantir uma inicialização ordenada, o power manager sequencia os IRPs de energia do sistema para que os dispositivos pai tenham a oportunidade de ligar antes que seus filhos o façam. O power manager não consulta antes de enviar um IRP de energia do sistema.

Da mesma forma, para garantir que o computador seja suspenso ou desligado de maneira ordenada, o power manager envia IRPs do sistema que especificam suspensão, hibernação ou desligamento em uma sequência definida, para que os dispositivos mais distantes da raiz desliguem antes que os dispositivos se aproximem da raiz. Sempre que possível, o power manager consulta antes de enviar esse IRP. Para obter mais informações, consulte Manipulando IRP_MN_QUERY_POWER para estados de energia do sistema.

O IRP de energia do sistema não é uma solicitação direta para alterar o estado de energia — é uma notificação. Um driver não deve alterar o estado de energia de seu dispositivo como uma resposta direta ao IRP de energia do sistema ; um driver altera o estado de energia do dispositivo apenas em resposta a um IRP de energia do dispositivo . (O proprietário da política de energia do dispositivo envia o IRP de energia do dispositivo; consulte Manipulando um IRP do Set-Power do sistema em um Proprietário da Política de Energia do Dispositivo.)

Mesmo que o dispositivo já esteja em um estado de energia do dispositivo válido para o estado de energia do sistema solicitado, cada driver deve, no entanto, passar o IRP de set-power do sistema para o driver inferior seguinte, até chegar ao driver de ônibus. Somente o motorista do ônibus tem permissão para concluir este IRP.

Como um driver lida com esse IRP depende de sua função na pilha de dispositivos, conforme descrito nas seções a seguir:

Manipulando um IRP Set-Power sistema em um proprietário de política de energia do dispositivo

Manipulando um sistema Set-Power IRP em um motorista de ônibus

Manipulando um IRP Set-Power sistema em um driver de filtro

Um driver não pode falhar em uma solicitação de IRP_MN_SET_POWER para definir o estado de energia do sistema. O power manager ignora qualquer falha status retornada para esse IRP.