Suporte ao sistema Wake-Up
Embora o sistema esteja em um estado de baixa potência, alguns dispositivos podem detectar um evento externo, como um pacote de rede de entrada e, em seguida, ativar o sistema. Por exemplo, se um dispositivo PCI tiver uma funcionalidade de ativação do sistema, conforme indicado no registro PMC (Recursos de Gerenciamento de Energia) do dispositivo, ele ativa o sistema acionando o sinal pme (Evento de Gerenciamento de Energia) no barramento PCI.
Se o dispositivo puder ativar o sistema de um estado de baixa potência em todo o sistema, a função de retorno de chamada EvtDriverDeviceAdd no proprietário da política de energia deverá executar as duas etapas a seguir:
Chame WdfDeviceAssignSxWakeSettings para especificar:
- O estado de baixa potência que o dispositivo inserirá
- Se os usuários podem controlar as configurações ociosas do dispositivo
- Se a funcionalidade de ativação do dispositivo está habilitada ou desabilitada
Para obter mais informações sobre essas configurações, consulte a estrutura WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS .
Chame WdfDeviceInitSetPowerPolicyEventCallbacks para registrar as seguintes funções de retorno de chamada de evento, se precisar delas para seu dispositivo:
- EvtDeviceArmWakeFromSx ou EvtDeviceArmWakeFromSxWithReason, que permitem que o hardware do dispositivo responda a um evento de ativação externo.
- EvtDeviceDisarmWakeFromSx, que desabilita a capacidade do dispositivo de responder a um evento de ativação externo.
- EvtDeviceWakeFromSxTriggered, que informa ao motorista que o ônibus detectou um sinal de ativação.
Os motoristas de ônibus também participam de acordar o sistema. O driver do barramento do dispositivo normalmente fornece funções de retorno de chamada EvtDeviceEnableWakeAtBus e EvtDeviceDisableWakeAtBus . Essas funções fazem o que for necessário no adaptador de barramento para habilitar e desabilitar a capacidade de um dispositivo de acordar de um estado de baixa potência.
Quando um driver de ônibus determina que um dispositivo disparou um sinal de ativação, ele deve chamar WdfDeviceIndicateWakeStatus para informar à estrutura que a energia do dispositivo deve ser restaurada. Em seguida, a estrutura passa essas informações para o restante dos drivers na pilha do driver.
Para obter informações sobre entradas do Registro que controlam os recursos de ativação de um dispositivo, consulte Controle de usuário do dispositivo ocioso e comportamento de ativação.