Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
[Aplica-se apenas ao KMDF]
Um driver KMDF para um dispositivo de vários componentes pode definir um ou mais estados de energia funcionais para cada componente.
Neste caso, o driver regista-se diretamente junto da estrutura de gestão de energia (PoFx). Para especificar que WDF não deve se registrar com PoFx, o driver chama WdfDeviceAssignS0IdleSettings com o membro IdleTimeoutType da estrutura WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS definida como DriverManagedIdleTimeout. Normalmente, o driver chama este método da sua função de retorno de chamada EvtDriverDeviceAdd.
Em seguida, o driver deve se registrar na PoFx. Para fazer isso, o driver chama PoFxRegisterDevice e, em seguida, PoFxStartDevicePowerManagement. Seu driver deve se registrar com PoFx apenas uma vez, quando o dispositivo é iniciado pela primeira vez. Uma maneira de fazer isso é chamando essas rotinas de uma função EvtDeviceSelfManagedIoInit fornecida pelo driver. EvtDeviceSelfManagedIoInit é chamado apenas na primeira vez que o dispositivo é iniciado.
Quando o dispositivo é removido, o driver deve chamar PoFxUnregisterDevice para cancelar o registro do dispositivo da PoFx. Para cancelar o registro apenas uma vez, recomendamos que o driver chame essa rotina a partir de uma função EvtDeviceSelfManagedIoFlush fornecida pelo driver. EvtDeviceSelfManagedIoFlush é chamado somente quando o dispositivo está sendo removido. Ao cancelar o registro no EvtDeviceSelfManagedIoFlush, o driver retém o registro de energia durante as transições de suspensão e reequilíbrio e não precisa manter referências de energia para solicitações de E/S que permanecem pendentes durante essas transições.
Quando o driver chama PoFxRegisterDevice, ele recebe um identificador de registro de energia (POHANDLE) que pode usar para interagir diretamente com o PoFx, conforme descrito nos seguintes tópicos:
- Coordenando solicitações de E/S com o estado de energia do componente
- Dispositivo de relatório ligado quando o sistema retorna ao S0
- Suporte para Power-Down em modo inativo em dispositivos Multiple-Component
Além disso, o driver pode chamar rotinas de estrutura de energia diretamente para enviar solicitações de controle de energia e especificar requisitos de latência, residência e despertar.
Para obter mais informações sobre PoFx, consulte Visão geral da estrutura de gerenciamento de energia.