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)

Weitere Informationen

WdfDeviceInitSetPowerNotPageable