Función WdfDeviceInitRegisterPowerPolicyStateChangeCallback (wdfdevice.h)

[Solo se aplica a KMDF]

Nota

Este método es solo para uso interno de Microsoft.

El método WdfDeviceInitRegisterPowerPolicyStateChangeCallback registra una función de devolución de llamada de evento proporcionada por el controlador que el marco llama cuando la máquina de estado de la directiva de energía de un dispositivo cambia el estado.

Sintaxis

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

Puntero proporcionado por el autor de la llamada a una estructura WDFDEVICE_INIT .

[in] PowerPolicyState

Enumerador WDF_DEVICE_POWER_POLICY_STATE que identifica el estado de la máquina de directivas de energía para el que el controlador solicita una notificación.

[in] EvtDevicePowerPolicyStateChange

Puntero proporcionado por el autor de la llamada a la función de devolución de llamada EvtDevicePowerPolicyStateChange del controlador.

[in] CallbackTypes

Combinación de ORed de enumeradores con tipo WDF_STATE_NOTIFICATION_TYPE.

Valor devuelto

Si WdfDeviceInitRegisterPowerPolicyStateChangeCallback no encuentra ningún error, devuelve STATUS_SUCCESS. Entre los valores devueltos adicionales se incluyen:

Código devuelto Descripción
STATUS_INVALID_PARAMETER
Se ha detectado un parámetro no válido.
STATUS_INSUFFICIENT_RESOURCES
No hay memoria suficiente para completar la operación.

Comentarios

Si el controlador llama a WdfDeviceInitRegisterPowerPolicyStateChangeCallback, debe hacerlo antes de llamar a WdfDeviceCreate.

Para obtener más información sobre WdfDeviceInitRegisterPowerPolicyStateChangeCallback, vea State Machines in the Framework.

Ejemplos

En el ejemplo de código siguiente se registra una función de devolución de llamada de evento a la que el marco llamará cuando cambie el estado de la máquina de estado de la directiva de energía del dispositivo.

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

Requisitos

Requisito Value
Plataforma de destino Universal
Versión mínima de KMDF 1.0
Encabezado wdfdevice.h (incluir Wdf.h)
Library Wdf01000.sys (consulte Control de versiones de la biblioteca de marcos).
IRQL PASSIVE_LEVEL
Reglas de cumplimiento 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)