Compartilhar via


EVT_WDF_DEVICE_ARM_WAKE_FROM_SX_WITH_REASON função de retorno de chamada (wdfdevice.h)

[Aplica-se a KMDF e UMDF]

A função de retorno de chamada de evento EvtDeviceArmWakeFromSxWithReason 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. O sinal de ativação faz com que o dispositivo insira seu estado de trabalho (D0) e faz com que o sistema insira seu estado de trabalho (S0).

Sintaxe

EVT_WDF_DEVICE_ARM_WAKE_FROM_SX_WITH_REASON EvtWdfDeviceArmWakeFromSxWithReason;

NTSTATUS EvtWdfDeviceArmWakeFromSxWithReason(
  [in] WDFDEVICE Device,
  [in] BOOLEAN DeviceWakeEnabled,
  [in] BOOLEAN ChildrenArmedForWake
)
{...}

Parâmetros

[in] Device

Um identificador para um objeto de dispositivo de estrutura.

[in] DeviceWakeEnabled

Um valor booliano que, se TRUE, indica que a capacidade do dispositivo de ativar o sistema está habilitada.

[in] ChildrenArmedForWake

Um valor booliano que, se TRUE, indica que a capacidade de um ou mais dispositivos filho de ativar o sistema está habilitada.

Retornar valor

Se a função de retorno de chamada EvtDeviceArmWakeFromSxWithReason não encontrar nenhum erro, ela 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 chamará a função de retorno de chamada EvtDeviceDisarmWakeFromSx do driver. (A estrutura não relata uma falha de dispositivo para o gerenciador PnP.)

Comentários

A versão 1.7 e versões posteriores do KMDF dão suporte à função de retorno de chamada EvtDeviceArmWakeFromSxWithReason , além da função de retorno de chamada EvtDeviceArmWakeFromSx .

Para registrar uma função de retorno de chamada EvtDeviceArmWakeFromSxWithReason , um driver deve chamar WdfDeviceInitSetPowerPolicyEventCallbacks. Os drivers podem registrar uma função de retorno de chamada EvtDeviceArmWakeFromSx ou uma função de retorno de chamada EvtDeviceArmWakeFromSxWithReason , mas não ambas.

A função de retorno de chamada EvtDeviceArmWakeFromSxWithReason fornece dois parâmetros que permitem que o driver determine por que a estrutura a chamou:

  • A estrutura define o parâmetro DeviceWakeEnabled como TRUE se o membro Enabled da estrutura WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS indicar que o dispositivo pode ativar o sistema.
  • A estrutura define o parâmetro ChildrenArmedForWake como TRUE se um ou mais dispositivos filho do dispositivo puderem ativar o sistema e o membro armForWakeIfChildrenAreArmedForWake de WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS estiver definido como TRUE.
Um ou ambos os parâmetros podem ser TRUE, devido aos seguintes cenários:
  • O dispositivo do driver está habilitado para ativar o sistema.
  • Um ou mais dispositivos filho do dispositivo estão habilitados para ativar o sistema.
  • O dispositivo e um ou mais de seus dispositivos filho estão habilitados para ativar o sistema.
Para obter mais informações sobre a função de retorno de chamada EvtDeviceArmWakeFromSxWithReason , consulte a seção Comentários de EvtDeviceArmWakeFromSx.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Versão mínima do KMDF 1.7
Versão mínima do UMDF 2,0
Cabeçalho wdfdevice.h (inclua Wdf.h)
IRQL PASSIVE_LEVEL

Confira também

EvtDeviceArmWakeFromS0

EvtDeviceArmWakeFromSx

EvtDeviceDisarmWakeFromSx