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 für KMDF und UMDF]
Die WdfDeviceWdmAssignPowerFrameworkSettings Methode registriert die Einstellungen des Power Management Framework (PoFx) für Einzelkomponentengeräte.
Syntax
NTSTATUS WdfDeviceWdmAssignPowerFrameworkSettings(
[in] WDFDEVICE Device,
[in] PWDF_POWER_FRAMEWORK_SETTINGS PowerFrameworkSettings
);
Die Parameter
[in] Device
Ein Handle für das Framework-Geräteobjekt, für das PoFx-Einstellungen angegeben werden.
[in] PowerFrameworkSettings
Ein Zeiger auf eine WDF_POWER_FRAMEWORK_SETTINGS Struktur, die die PoFx-Einstellungen des Clienttreibers beschreibt.
Rückgabewert
Die WdfDeviceWdmAssignPowerFrameworkSettings Methode gibt einen NTSTATUS-Wert zurück, der den Erfolg oder Fehler des Vorgangs angibt.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Die Größe der WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS Struktur ist falsch. |
|
Der aufrufende Treiber ist nicht der Besitzer der Energierichtlinie des Geräts. |
|
Es wird ein ungültiger Einstellungen Wert erkannt. |
Diese Methode kann auch andere NTSTATUS-Wertezurückgeben.
Bemerkungen
Die WdfDeviceWdmAssignPowerFrameworkSettings Methode gilt nur für Einzelkomponentengeräte.
Vor dem Aufrufen dieser Methode muss der Clienttreiber zuerst WdfDeviceAssignS0IdleSettings aufrufen und das IdleTimeoutType Feld der WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS Struktur auf SystemManagedIdleTimeout oder SystemManagedIdleTimeoutWithHintfestlegen.
Ein Treiber muss WdfDeviceWdmAssignPowerFrameworkSettings vor oder während des ersten Starts eines Geräts aufrufen. Da ein Gerät beispielsweise mehrmals gestartet werden kann, kann ein Treiber diese Methode aus EvtDriverDeviceAdd oder EvtDeviceSelfManagedIoInitaufrufen. Das Framework ruft diese Funktionen nur einmal auf, auch wenn das Gerät mehrmals gestartet wird.
Alternativ können Sie Der Treiber kann nachverfolgen, ob er bereits WdfDeviceWdmAssignPowerFrameworkSettingsaufgerufen hat, und es von einer der folgenden Rückruffunktionen aufrufen: EvtDevicePrepareHardware, EvtDeviceD0Entry, EvtDeviceD0EntryPostInterruptsEnabledoder EvtDeviceSelfManagedIoRestart.
Wenn Ihr Treiber WdfDeviceWdmAssignPowerFrameworkSettings mehrmals aufruft, generiert das Framework einen Prüffehler.
Das Power Management Framework (PoFx) ist nur unter Windows 8 und höher verfügbar. Wenn sie auf einem Betriebssystem ausgeführt wird, das PoFx nicht unterstützt, WdfDeviceWdmAssignPowerFrameworkSettings keine Aktion und gibt STATUS_SUCCESS zurück.
Weitere Informationen finden Sie unter Unterstützen von Funktionskraftzuständen und Übersicht über das Power Management Framework.
Beispiele
Im folgenden Codebeispiel initialisiert der Treiber eine WDF_POWER_FRAMEWORK_SETTINGS Struktur, indem die WDF_POWER_FRAMEWORK_SETTINGS_INIT-Funktion aufgerufen wird. Der Treiber legt dann manuell einige der Member der Struktur fest und ruft dann WdfDeviceWdmAssignPowerFrameworkSettingsauf.
NTSTATUS status;
WDF_POWER_FRAMEWORK_SETTINGS poFxSettings;
WDF_POWER_FRAMEWORK_SETTINGS_INIT(&poFxSettings);
poFxSettings.EvtDeviceWdmPostPoFxRegisterDevice =
SingleCompWdmEvtDeviceWdmPostPoFxRegisterDevice;
poFxSettings.EvtDeviceWdmPrePoFxUnregisterDevice =
SingleCompWdmEvtDeviceWdmPrePoFxUnregisterDevice;
poFxSettings.Component = &component;
poFxSettings.ComponentIdleStateCallback =
SingleCompWdmIdleStateCallback;
poFxSettings.PoFxDeviceContext = (PVOID) Device;
status = WdfDeviceWdmAssignPowerFrameworkSettings(Device, &poFxSettings);
Anforderungen
Anforderung | Wert |
---|---|
Unterstützter Client (Mindestversion) | Windows 8 |
Zielplattform | universell |
Minimale KMDF-Version | 1.11 |
Mindest-UMDF-Version | 2.33 |
Kopfzeile | wdfdevice.h (einschließen Wdf.h) |
Bibliothek | Wdf01000.sys (siehe Framework-Bibliotheksversionsverwaltung.) |
IRQL | PASSIVE_LEVEL |
DDI-Complianceregeln | DriverCreate(kmdf) |
Siehe auch
EvtDeviceWdmPostPoFxRegisterDevice