Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[Gilt nur für KMDF]
Anmerkung
Diese Methode ist nur für die interne Verwendung von Microsoft vorgesehen.
Die WdfDeviceInitRegisterPowerStateChangeCallback -Methode registriert eine vom Framework bereitgestellte Ereignisrückruffunktion, die vom Framework aufgerufen wird, wenn der Zustand des Energiezustandsautomaten eines Geräts geändert wird.
Syntax
NTSTATUS WdfDeviceInitRegisterPowerStateChangeCallback(
[in] PWDFDEVICE_INIT DeviceInit,
[in] WDF_DEVICE_POWER_STATE PowerState,
[in] PFN_WDF_DEVICE_POWER_STATE_CHANGE_NOTIFICATION EvtDevicePowerStateChange,
[in] ULONG CallbackTypes
);
Parameter
[in] DeviceInit
Ein vom Aufrufer bereitgestellter Zeiger auf eine WDFDEVICE_INIT Struktur.
[in] PowerState
Ein WDF_DEVICE_POWER_STATE Enumerator, der den Zustand des Energiecomputers angibt, für den der Treiber eine Benachrichtigung anfordert.
[in] EvtDevicePowerStateChange
Ein vom Aufrufer bereitgestellter Zeiger auf die EvtDevicePowerStateChange Ereignisrückruffunktion des Treibers.
[in] CallbackTypes
Eine ORed-Kombination aus WDF_STATE_NOTIFICATION_TYPE-typed-Enumeratoren.
Rückgabewert
Wenn der Vorgang erfolgreich ist, gibt WdfDeviceInitRegisterPowerStateChangeCallback STATUS_SUCCESS zurück. Weitere Rückgabewerte sind:
Rückgabecode | Beschreibung |
---|---|
|
Ein ungültiger Parameter wurde erkannt. |
|
Es ist nicht genügend Arbeitsspeicher vorhanden, um den Vorgang abzuschließen. |
Bemerkungen
Wenn Ihr Treiber WdfDeviceInitRegisterPowerStateChangeCallbackaufruft, muss er dies tun, bevor er WdfDeviceCreateaufruft.
Weitere Informationen zum Aufrufen WdfDeviceCreatefinden Sie unter State Machines in the Framework.
Beispiele
Im folgenden Codebeispiel wird eine Ereignisrückruffunktion registriert, die vom Framework aufgerufen wird, wenn der Energiezustandsautomat des Geräts den Zustand ändert.
status = WdfDeviceInitRegisterPowerStateChangeCallback(
DeviceInit,
WdfDevStatePowerD0StartingConnectInterrupt,
PciDrvPowerStateChangeCallback,
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) |