Compartilhar via


Gerenciando a política de energia do dispositivo

Assim como o power manager mantém e administra a política de energia para o sistema, um driver na pilha de dispositivos para cada dispositivo mantém e administra a política de energia para o dispositivo. Esse driver é o proprietário da política de energia do dispositivo .

O proprietário da política de energia do dispositivo é o driver que tem mais informações sobre o uso do dispositivo e o estado de energia. Ele não precisa ser fisicamente capaz de definir os registros do dispositivo para ligar e desativar o dispositivo, mas ele deve ser capaz de determinar quando o dispositivo está em uso, quando ele está ocioso e quando ele deve alterar o estado de energia.

Normalmente, o driver de função de um dispositivo é o proprietário da política de energia, embora para alguns dispositivos outro driver ou componente do sistema possa assumir essa função. Para obter mais informações sobre os tipos de drivers envolvidos no gerenciamento de energia, consulte Tipos de drivers WDM.

Alguns drivers atuam como o driver de função para um dispositivo (criando um FDO) e o driver de barramento (criando um PDO) para um dispositivo filho enumerado. Em suas rotinas de Expedição para irPs de energia e PnP, esse driver deve distinguir sua manipulação de IRPs enviados para o FDO e aqueles enviados para o PDO.

Por exemplo, o driver de um adaptador SCSI pode executar as funções do driver de função (criando um FDO) para o próprio adaptador e o driver de barramento (criando um PDO) para os discos anexados ao adaptador. Em sua capacidade como driver de função/proprietário da política para o adaptador SCSI, esse driver recebe IRPs do sistema e solicita IRPs do dispositivo para o adaptador SCSI. Em sua capacidade como driver de barramento para os discos, ele manipula e conclui os IRPs do dispositivo que especificam os PDOs de disco que ele cria. Só porque o driver possui uma política de energia para um dispositivo (FDO) não significa que ele possui a política de energia para o PDO (dispositivo filho).

O proprietário da política de energia do dispositivo é responsável pelo seguinte:

  • Definindo o estado de energia inicial do dispositivo como D0 chamando PoSetPowerState enquanto ele lida com a solicitação de IRP_MN_START_DEVICE do gerenciador de Plug and Play.

    Os dispositivos devem ligar conforme necessário; por exemplo, um dispositivo deve ligar para lidar com uma solicitação de E/S. O proprietário da política de energia do dispositivo é responsável por determinar quando seu dispositivo é necessário, garantir que a energia do dispositivo esteja ativada e definir o estado correto de energia do dispositivo. O dispositivo típico deve ser ativado quando o IRP do dispositivo inicial PnP for concluído.

    Como regra geral, a maioria dos dispositivos deve ser desligada quando não estiver em uso, mesmo quando o sistema estiver no estado de trabalho.

  • Enviando uma solicitação de energia do dispositivo em resposta a uma solicitação de energia do sistema chamando PoRequestPowerIrp.

    Por exemplo, quando o proprietário da política recebe um IRP de set-power do sistema, ele envia um IRP de set-power do dispositivo. A maioria dos dispositivos insere D3 quando o sistema entra em qualquer estado de suspensão. A matriz DeviceState na estrutura DEVICE_CAPABILITIES lista o estado mais avançado que o dispositivo pode manter para cada estado de energia do sistema. (Consulte Reporting Device Power Capabilities.)

  • Detectando quando o dispositivo está ocioso e colocando-o em suspensão para conservar energia.

    O power manager ou o proprietário da política de dispositivo podem detectar um dispositivo ocioso e enviar um IRP de energia do dispositivo para alterar seu estado. Para obter mais informações, consulte Detectando um dispositivo ocioso.

  • Retornando seu dispositivo para o estado de trabalho quando necessário.

    Quando uma solicitação de E/S chega para um dispositivo em suspensão, os drivers do dispositivo devem devolvê-la ao estado de trabalho.

  • Habilitar e desabilitar a ativação de seu dispositivo quando solicitado.

    O proprietário da política de energia do dispositivo envia e cancela IRPs de espera/ativação, conforme descrito em Dispositivos de suporte que têm recursos de Wake-Up.