Função WdfDeviceInitRegisterPowerStateChangeCallback (wdfdevice.h)
[Aplica-se somente ao KMDF]
Observação
Esse método é somente para uso interno da Microsoft.
O método WdfDeviceInitRegisterPowerStateChangeCallback registra uma função de retorno de chamada de evento fornecida pelo driver que a estrutura chama quando o computador de estado de energia de um dispositivo altera o estado.
Sintaxe
NTSTATUS WdfDeviceInitRegisterPowerStateChangeCallback(
[in] PWDFDEVICE_INIT DeviceInit,
[in] WDF_DEVICE_POWER_STATE PowerState,
[in] PFN_WDF_DEVICE_POWER_STATE_CHANGE_NOTIFICATION EvtDevicePowerStateChange,
[in] ULONG CallbackTypes
);
Parâmetros
[in] DeviceInit
Um ponteiro fornecido pelo chamador para uma estrutura de WDFDEVICE_INIT .
[in] PowerState
Um enumerador WDF_DEVICE_POWER_STATE que identifica o estado do computador de energia para o qual o driver está solicitando notificação.
[in] EvtDevicePowerStateChange
Um ponteiro fornecido pelo chamador para a função de retorno de chamada de evento EvtDevicePowerStateChange do driver.
[in] CallbackTypes
Uma combinação ORed de enumeradores do tipo WDF_STATE_NOTIFICATION_TYPE.
Retornar valor
Se a operação for bem-sucedida, WdfDeviceInitRegisterPowerStateChangeCallback retornará STATUS_SUCCESS. Os valores retornados adicionais incluem:
Código de retorno | Descrição |
---|---|
|
Um parâmetro inválido foi detectado. |
|
Não há memória suficiente para concluir a operação. |
Comentários
Se o driver chamar WdfDeviceInitRegisterPowerStateChangeCallback, ele deverá fazer isso antes de chamar WdfDeviceCreate.
Para obter mais informações sobre como chamar WdfDeviceCreate, 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 de energia do dispositivo alterar o estado.
status = WdfDeviceInitRegisterPowerStateChangeCallback(
DeviceInit,
WdfDevStatePowerD0StartingConnectInterrupt,
PciDrvPowerStateChangeCallback,
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 de 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) |