EVT_WDF_DEVICE_ARM_WAKE_FROM_S0 função de retorno de chamada (wdfdevice.h)
[Aplica-se a KMDF e UMDF]
A função de retorno de chamada de evento EvtDeviceArmWakeFromS0 de um driver (ou seja, habilita) um dispositivo para que ele possa disparar um sinal de ativação enquanto estiver em um estado de dispositivo de baixa potência, se o sistema permanecer no estado de trabalho do sistema (S0).
Sintaxe
EVT_WDF_DEVICE_ARM_WAKE_FROM_S0 EvtWdfDeviceArmWakeFromS0;
NTSTATUS EvtWdfDeviceArmWakeFromS0(
[in] WDFDEVICE Device
)
{...}
Parâmetros
[in] Device
Um identificador para um objeto de dispositivo de estrutura.
Retornar valor
Se a operação for bem-sucedida, a função de retorno de chamada EvtDeviceArmWakeFromS0 deverá retornar STATUS_SUCCESS ou outro valor status para o qual NT_SUCCESS(status) é igual a TRUE. Caso contrário, ele deverá retornar um valor status para o qual NT_SUCCESS(status) é igual a FALSE.
Se NT_SUCCESS(status) for igual a FALSE, a estrutura não chamará a função de retorno de chamada EvtDeviceDisarmWakeFromS0 do driver. (A estrutura não relata uma falha de dispositivo para o gerenciador PnP.)
Comentários
Para registrar uma função de retorno de chamada EvtDeviceArmWakeFromS0 , um driver deve chamar WdfDeviceInitSetPowerPolicyEventCallbacks. Além disso, o driver deve definir IdleCanWakeFromS0 no membro IdleCaps de sua estrutura WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS .
A função de retorno de chamada EvtDeviceArmWakeFromS0 manipula operações específicas do dispositivo necessárias para permitir que o dispositivo detecte um evento externo que dispara um sinal de ativação no barramento. A função de retorno de chamada EvtDeviceEnableWakeAtBus do motorista do barramento lida com operações específicas do barramento, como habilitar o sinal pme (evento de gerenciamento de energia) do barramento PCI.
Se o driver tiver registrado uma função de retorno de chamada EvtDeviceArmWakeFromS0 , a estrutura a chamará enquanto o dispositivo ainda estiver no estado de energia do dispositivo D0, antes que o driver de barramento reduza o estado de energia do dispositivo, mas depois que a estrutura enviar um IRP de espera/ativação em nome do driver.
O processo ocorre na seguinte sequência:
- A estrutura determina que o dispositivo ficou ocioso por um período predefinido.
- A estrutura chama a função de retorno de chamada EvtDeviceArmWakeFromS0 do driver.
- A estrutura solicita ao driver que o barramento do dispositivo diminua a potência do dispositivo.
Para obter mais informações sobre quando a estrutura chama essa função de retorno de chamada, consulte Cenários de gerenciamento de energia e PnP.
Você não precisa fornecer uma função de retorno de chamada EvtDeviceArmWakeFromS0 se o dispositivo:
- É um dispositivo USB que dá suporte à "suspensão seletiva".
- Não é possível desligar enquanto o sistema permanece totalmente ligado.
- Não requer operações de hardware especiais que permitem que o dispositivo dispare um sinal de ativação.
Para obter mais informações sobre essa função de retorno de chamada, consulte Suporte à ociosidade de energia para baixo.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Versão mínima do KMDF | 1.0 |
Versão mínima do UMDF | 2,0 |
Cabeçalho | wdfdevice.h (inclua Wdf.h) |
IRQL | PASSIVE_LEVEL |