WdfDeviceInitSetPowerPageable-Funktion (wdfdevice.h)
[Gilt nur für KMDF]
Die WdfDeviceInitSetPowerPageable-Methode informiert den Power Manager darüber, dass der Treiber auf auslagerungsfähige Daten zugreifen können muss, während das System zwischen dem Ruhezustand und dem Arbeitszustand (S0) wechselt.
Syntax
void WdfDeviceInitSetPowerPageable(
[in] PWDFDEVICE_INIT DeviceInit
);
Parameter
[in] DeviceInit
Ein vom Aufrufer bereitgestellter Zeiger auf eine WDFDEVICE_INIT-Struktur .
Rückgabewert
Keine
Bemerkungen
Wenn Ihr Funktionstreiber oder Bustreiber WdfDeviceInitSetPowerPageable aufruft, stellt das System sicher, dass sich das Gerät der Auslagerungsdatei im Betriebszustand (D0) befindet, wenn das Gerät Ihres Treibers in einen Energiesparzustand wechselt oder in den Betriebszustand zurückkehrt. Dadurch kann Ihr Treiber während der Energieübergänge Ihres Geräts auf Dateien, die Registrierung und den ausgelagerten Pool zugreifen.
Standardmäßig ermöglicht das Framework den Zugriff auf auslagerungsfähige Daten für Funktionstreiber. Das Framework verwendet die Einstellung des übergeordneten Geräts für jedes untergeordnete Gerät, das ein Bustreiber aufzählt, es sei denn, der Bustreiber ruft entweder WdfDeviceInitSetPowerPageable oder WdfDeviceInitSetPowerNotPageable für das untergeordnete Gerät auf. Wenn Sie einen Bustreiber schreiben, der WdfDeviceInitSetPowerPageable für ein untergeordnetes Gerät aufruft, können keine Treiber im Stapel des untergeordneten Geräts WdfDeviceInitSetPowerNotPageable aufrufen.
Das Aufrufen von WdfDeviceInitSetPowerPageable oder WdfDeviceInitSetPowerNotPageable über einen Filtertreiber hat keine Auswirkungen. Das Framework verwendet die Einstellung, die der nächstniedrige Treiber angibt.
Die meisten Treiber müssen WdfDeviceInitSetPowerPageable oder WdfDeviceInitSetPowerNotPageable nicht aufrufen. Stattdessen sollten Sie das Framework die Standardeinstellung verwenden lassen, die für Ihren Treiber geeignet ist. Ihr Treiber sollte jedoch WdfDeviceInitSetPowerNotPageable aufrufen, wenn der Treiber Teil eines Treiberstapels ist, der während des Energieübergangs nicht auf auslagerungsfähige Daten zugreifen darf (z. B. den Speicherstapel oder den Videostapel), oder wenn der Treiber ein Bustreiber ist, der Geräte auflistet, die möglicherweise Speicher- oder Videogeräte sind.
Wenn Ihr Treiber WdfDeviceInitSetPowerInrush aufruft, darf er WdfDeviceInitSetPowerPageable nicht aufrufen.
Ihr Treiber muss WdfDeviceInitSetPowerPageable aufrufen, bevor er WdfDeviceCreate aufruft.
Weitere Informationen zum Aufrufen von WdfDeviceCreate finden Sie unter Erstellen eines Framework-Geräteobjekts.
Beispiele
Im folgenden Codebeispiel wird der Power Manager darüber informiert, dass ein Treiber auf auslagerungsfähige Daten zugreifen kann, während das System zwischen einem Ruhezustand und dem Arbeitszustand (S0) wechselt.
WdfDeviceInitSetPowerPageable(DeviceInit);
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 | <= DISPATCH_LEVEL |
DDI-Complianceregeln | ChildDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf) |