Función WdfDeviceInitRegisterPowerStateChangeCallback (wdfdevice.h)
[Solo se aplica a KMDF]
Nota
Este método es solo para uso interno de Microsoft.
El método WdfDeviceInitRegisterPowerStateChangeCallback registra una función de devolución de llamada de evento proporcionada por el controlador que el marco llama cuando el equipo de estado de energía de un dispositivo cambia el estado.
Sintaxis
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
Puntero proporcionado por el autor de la llamada a una estructura WDFDEVICE_INIT .
[in] PowerState
Enumerador WDF_DEVICE_POWER_STATE que identifica el estado de la máquina de alimentación para el que el controlador solicita una notificación.
[in] EvtDevicePowerStateChange
Puntero proporcionado por el autor de la llamada a la función de devolución de llamada evtDevicePowerStateChange del controlador.
[in] CallbackTypes
Combinación de ORed de enumeradores con tipo WDF_STATE_NOTIFICATION_TYPE.
Valor devuelto
Si la operación se realiza correctamente, WdfDeviceInitRegisterPowerStateChangeCallback devuelve STATUS_SUCCESS. Entre los valores devueltos adicionales se incluyen:
Código devuelto | Descripción |
---|---|
|
Se ha detectado un parámetro no válido. |
|
No hay memoria suficiente para completar la operación. |
Comentarios
Si el controlador llama a WdfDeviceInitRegisterPowerStateChangeCallback, debe hacerlo antes de llamar a WdfDeviceCreate.
Para obtener más información sobre cómo llamar a WdfDeviceCreate, 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 llamará el marco cuando el equipo de estado de energía del dispositivo cambie el estado.
status = WdfDeviceInitRegisterPowerStateChangeCallback(
DeviceInit,
WdfDevStatePowerD0StartingConnectInterrupt,
PciDrvPowerStateChangeCallback,
StateNotificationAllStates
);
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Versión mínima de KMDF | 1.0 |
Encabezado | wdfdevice.h (incluya 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) |