Função WdfDeviceInitRegisterPowerPolicyStateChangeCallback (wdfdevice.h)

[Aplica-se somente ao KMDF]

Observação

Esse método é apenas para uso interno da Microsoft.

O método WdfDeviceInitRegisterPowerPolicyStateChangeCallback registra uma função de retorno de chamada de evento fornecida pelo driver que a estrutura chama quando a máquina de estado da política de energia do dispositivo muda de estado.

Sintaxe

NTSTATUS WdfDeviceInitRegisterPowerPolicyStateChangeCallback(
  [in] PWDFDEVICE_INIT                                       DeviceInit,
  [in] WDF_DEVICE_POWER_POLICY_STATE                         PowerPolicyState,
  [in] PFN_WDF_DEVICE_POWER_POLICY_STATE_CHANGE_NOTIFICATION EvtDevicePowerPolicyStateChange,
  [in] ULONG                                                 CallbackTypes
);

Parâmetros

[in] DeviceInit

Um ponteiro fornecido pelo chamador para uma estrutura WDFDEVICE_INIT .

[in] PowerPolicyState

Um enumerador WDF_DEVICE_POWER_POLICY_STATE que identifica o estado do computador da política de energia para o qual o driver está solicitando notificação.

[in] EvtDevicePowerPolicyStateChange

Um ponteiro fornecido pelo chamador para a função de retorno de chamada de evento EvtDevicePowerPolicyStateChange do driver.

[in] CallbackTypes

Uma combinação ORed de enumeradores com tipo WDF_STATE_NOTIFICATION_TYPE.

Retornar valor

Se WdfDeviceInitRegisterPowerPolicyStateChangeCallback não encontrar erros, ele retornará STATUS_SUCCESS. Os valores de retorno adicionais incluem:

Código de retorno Descrição
STATUS_INVALID_PARAMETER
Um parâmetro inválido foi detectado.
STATUS_INSUFFICIENT_RESOURCES
Não há memória suficiente para concluir a operação.

Comentários

Se o driver chamar WdfDeviceInitRegisterPowerPolicyStateChangeCallback, ele deverá fazer isso antes de chamar WdfDeviceCreate.

Para obter mais informações sobre WdfDeviceInitRegisterPowerPolicyStateChangeCallback, consulte State Machines in the Framework.

Exemplos

O exemplo de código a seguir registra uma função de retorno de chamada de evento que a estrutura chamará quando o computador de estado da política de energia do dispositivo mudar de estado.

status = WdfDeviceInitRegisterPowerPolicyStateChangeCallback(
                                 DeviceInit,
                                 WdfDevStatePwrPolCheckPowerPageable,
                                 PciDrvPowerPolicyStateChangeCallback,
                                 StateNotificationAllStates
                                 );

Requisitos

Requisito Valor
Plataforma de Destino Universal
Versão mínima do KMDF 1.0
Cabeçalho wdfdevice.h (inclua Wdf.h)
Biblioteca Wdf01000.sys (consulte Controle de versão da biblioteca de estrutura.)
IRQL PASSIVE_LEVEL
Regras de conformidade da DDI ChildDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), InitFreeDeviceCallback(kmdf), InitFreeDeviceCreate(kmdf), InitFreeNull(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf)