Freigeben über


WdfDeviceInitRegisterPowerPolicyStateChangeCallback-Funktion (wdfdevice.h)

[Gilt nur für KMDF]

Anmerkung

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

Die WdfDeviceInitRegisterPowerPolicyStateChangeCallback Methode registriert eine vom Framework bereitgestellte Ereignisrückruffunktion, die vom Framework aufgerufen wird, wenn der Zustand des Energierichtlinienautomaten eines Geräts geändert wird.

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 Energierichtliniencomputers angibt, 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-typed-Enumeratoren.

Rückgabewert

Wenn WdfDeviceInitRegisterPowerPolicyStateChangeCall back keine Fehler auftritt, 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.

Bemerkungen

Wenn Ihr Treiber WdfDeviceInitRegisterPowerPolicyStateChangeCallbackaufruft, muss er dies tun, bevor er WdfDeviceCreateaufruft.

Weitere Informationen zu WdfDeviceInitRegisterPowerPolicyStateChangeCallbackfinden Sie unter State Machines im Framework.

Beispiele

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

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

Anforderungen

Anforderung Wert
Zielplattform- Universal
Minimale KMDF-Version 1.0
Header- wdfdevice.h (einschließen Wdf.h)
Library Wdf01000.sys (siehe Framework-Bibliotheksversionsverwaltung.)
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)