Funzione WdfDeviceInitRegisterPowerPolicyStateChangeCallback (wdfdevice.h)

[Si applica solo a KMDF]

Nota

Questo metodo è solo per l'uso interno di Microsoft.

Il metodo WdfDeviceInitRegisterPowerPolicyStateChangeCallback registra una funzione di callback dell'evento fornita dal driver che il framework chiama quando lo stato di power policy di un dispositivo cambia stato.

Sintassi

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
);

Parametri

[in] DeviceInit

Puntatore fornito dal chiamante a una struttura di WDFDEVICE_INIT .

[in] PowerPolicyState

Enumeratore WDF_DEVICE_POWER_POLICY_STATE che identifica lo stato del computer di power policy per il quale il driver richiede la notifica.

[in] EvtDevicePowerPolicyStateChange

Puntatore fornito dal chiamante alla funzione di callback dell'evento EvtDevicePowerPolicyStateChange del driver.

[in] CallbackTypes

Combinazione ORed di enumeratori WDF_STATE_NOTIFICATION_TYPE tipizzato.

Valore restituito

Se WdfDeviceInitRegisterPowerPolicyStateChangeCallback non rileva errori, restituisce STATUS_SUCCESS. I valori restituiti aggiuntivi includono:

Codice restituito Descrizione
STATUS_INVALID_PARAMETER
È stato rilevato un parametro non valido.
STATUS_INSUFFICIENT_RESOURCES
Memoria insufficiente per completare l'operazione.

Commenti

Se il driver chiama WdfDeviceInitRegisterPowerPolicyStateChangeCallback, deve farlo prima di chiama WdfDeviceCreate.

Per altre informazioni su WdfDeviceInitRegisterPowerPolicyStateChangeCallback, vedere Computer di stato nel framework.

Esempio

Nell'esempio di codice seguente viene registrata una funzione di callback evento che il framework chiamerà quando lo stato del computer di power policy del dispositivo cambia stato.

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

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Versione KMDF minima 1,0
Intestazione wdfdevice.h (includere Wdf.h)
Libreria Wdf01000.sys (vedere Framework Library Versioning).
IRQL PASSIVE_LEVEL
Regole di conformità 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)