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]
Quando o sistema retorna ao seu estado de trabalho (S0) de um estado de baixo consumo de energia, o gerenciador PnP envia um IRP de potência definida do sistema (IRP_MN_SET_POWER) para retornar o dispositivo ao seu estado de trabalho (D0). O WDF trata do IRP de ajuste de potência do sistema. No entanto, como no cenário de vários componentes o driver se registrou diretamente com a estrutura de gerenciamento de energia (PoFx), o driver deve chamar PoFxReportDevicePoweredOn quando o dispositivo tiver concluído a transição para seu estado de energia totalmente ligado (D0). O driver pode fazer isso registando uma rotina de pré-processamento WDM para receber notificação quando chega um IRP de gestão de energia do sistema.
O condutor pode usar o seguinte procedimento:
- Chame WdfDeviceInitAssignWdmIrpPreprocessCallback para registrar uma função de retorno de chamada EvtDeviceWdmIrpPreprocess para IRP_MN_SET_POWER. No callback, o driver define um sinalizador na sua extensão de dispositivo para indicar que precisa chamar PoFxReportDevicePoweredOn do seu próximo callback EvtDeviceD0Entry.
- No EvtDeviceD0Entry, se o sinalizador estiver ativado, o driver desativa o sinalizador e chama PoFxReportDevicePoweredOn.
- O driver também verifica o sinalizador em EvtDeviceSelfManagedIoFlush. Se o sinalizador estiver definido, o dispositivo não conseguiu retornar a D0 e o dispositivo foi removido. Nesse caso, o driver chama PoFxReportDevicePoweredOn e, em seguida, cancela o registo com a estrutura de energia.