Freigeben über


WdfDeviceInitSetPowerNotPageable-Funktion (wdfdevice.h)

[Gilt nur für KMDF]

Die WdfDeviceInitSetPowerNotPageable-Methode informiert den Power Manager, dass der Treiber nicht auf auslagerungsfähige Daten zugreift, während das System zwischen einem Ruhezustand und dem Arbeitszustand (S0) wechselt.

Syntax

void WdfDeviceInitSetPowerNotPageable(
  [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 WdfDeviceInitSetPowerNotPageable aufruft, befindet sich das Gerät der System-Auslagerungsdatei möglicherweise nicht im Betriebszustand (D0), wenn das Gerät Des Treibers in einen Energiesparzustand wechselt oder in den Betriebszustand zurückkehrt. Daher darf Ihr Treiber während der Energieübergänge Ihres Geräts keine Vorgänge ausführen, die dazu führen könnten, dass das Betriebssystem auf die Auslagerungsdatei zugreift. Solche Vorgänge umfassen den Zugriff auf Dateien, die Registrierung oder den ausgelagerten Pool.

Standardmäßig ermöglicht das Framework den Zugriff auf ausgelagerte 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 bei Energieübergängen nicht auf auslagerungsfähige Daten zugreifen darf (z. B. der Speicherstapel oder der Videostapel), oder wenn der Treiber ein Bustreiber ist, der Geräte auflistet, bei denen es sich um Speicher- oder Videogeräte handeln kann.

Wenn Ihr Treiber WdfDeviceInitSetPowerNotPageable aufruft, muss er dies tun, 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 nicht auf auslagerungsfähige Daten zugreift, während das System zwischen einem Ruhezustand und dem Arbeitszustand (S0) wechselt.

WdfDeviceInitSetPowerNotPageable(DeviceInit);

Anforderungen

Anforderung Wert
Zielplattform Universell
KMDF-Mindestversion 1.0
Kopfzeile wdfdevice.h (einschließen von Wdf.h)
Bibliothek Wdf01000.sys (siehe Versionsverwaltung der Frameworkbibliothek).)
IRQL <= DISPATCH_LEVEL
DDI-Complianceregeln ChildDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf)

Weitere Informationen

WdfDeviceInitSetPowerPageable