WdfDeviceInitRegisterPowerPolicyStateChangeCallback-Funktion (wdfdevice.h)

[Gilt nur für KMDF]

Hinweis

Diese Methode ist nur für die interne Verwendung von Microsoft vorgesehen.

Die WdfDeviceInitRegisterPowerPolicyStateChangeCallback-Methode registriert eine vom Treiber bereitgestellte Ereignisrückruffunktion, die das Framework aufruft, wenn der Energierichtlinienzustand eines Geräts den Zustand ändert.

Syntax

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

Parameter

[in] DeviceInit

Ein vom Aufrufer bereitgestellter Zeiger auf eine WDFDEVICE_INIT-Struktur .

[in] PowerPolicyState

Ein WDF_DEVICE_POWER_POLICY_STATE Enumerator, der den Zustand des Power Policy-Computers identifiziert, für den der Treiber eine Benachrichtigung anfordert.

[in] EvtDevicePowerPolicyStateChange

Ein vom Aufrufer bereitgestellter Zeiger auf die EvtDevicePowerPolicyStateChange-Ereignisrückruffunktion des Treibers.

[in] CallbackTypes

Eine ORed-Kombination aus WDF_STATE_NOTIFICATION_TYPE typisierten Enumeratoren.

Rückgabewert

Wenn WdfDeviceInitRegisterPowerPolicyStateChangeCallback keine Fehler aufweist, wird STATUS_SUCCESS zurückgegeben. Weitere Rückgabewerte sind:

Rückgabecode Beschreibung
STATUS_INVALID_PARAMETER
Ein ungültiger Parameter wurde erkannt.
STATUS_INSUFFICIENT_RESOURCES
Es ist nicht genügend Arbeitsspeicher vorhanden, um den Vorgang abzuschließen.

Hinweise

Wenn Ihr Treiber WdfDeviceInitRegisterPowerPolicyStateChangeCallback aufruft, muss er dies tun, bevor er WdfDeviceCreate aufruft.

Weitere Informationen zu WdfDeviceInitRegisterPowerPolicyStateChangeCallback finden Sie unter Zustandscomputer im Framework.

Beispiele

Im folgenden Codebeispiel wird eine Ereignisrückruffunktion registriert, die vom Framework aufgerufen wird, wenn sich der Zustand des Power Policy-Zustandscomputers des Geräts ändert.

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

Anforderungen

Anforderung Wert
Zielplattform Universell
KMDF-Mindestversion 1.0
Kopfzeile wdfdevice.h (einschließen von Wdf.h)
Bibliothek Wdf01000.sys (siehe Versionierung der Frameworkbibliothek.)
IRQL PASSIVE_LEVEL
DDI-Complianceregeln ChildDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), InitFreeDeviceCallback(kmdf), InitFreeDeviceCreate(kmdf), InitFreeNull(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf)