Freigeben über


WdfDeviceInitSetPowerNotPageable-Funktion (wdfdevice.h)

[Gilt nur für KMDF]

Die WdfDeviceInitSetPowerNotPageable Methode informiert den Power-Manager darüber, dass der Treiber nicht auf ausgelagerten 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

Nichts

Bemerkungen

Wenn Ihr Funktionstreiber oder Bustreiber WdfDeviceInitSetPowerNotPageableaufruft, befindet sich das Gerät der System paging-Datei möglicherweise nicht im Arbeitszustand (D0), wenn das Gerät des Treibers in einen Energiesparzustand wechselt, oder in den Arbeitszustandzurückkehrt. Daher darf Ihr Treiber während der Energieübergänge Ihres Geräts keine Vorgänge ausführen, die dazu führen können, dass das Betriebssystem auf die Auslagerungsdatei zugreift. Solche Vorgänge umfassen den Zugriff auf Dateien, die Registrierung oder den seitenseitigen 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 WdfDeviceInitSetPowerNotPageableaufrufen.

Das Aufrufen WdfDeviceInitSetPowerPageable oder WdfDeviceInitSetPowerNotPageable von einem Filtertreiber hat keine Auswirkung. Das Framework verwendet die Einstellung, die der nächste niedrigere Treiber angibt.

Die meisten Treiber müssen nicht WdfDeviceInitSetPowerPageable oder WdfDeviceInitSetPowerNotPageableaufrufen. Stattdessen sollten Sie zulassen, dass das Framework die Standardeinstellung verwendet, die für Ihren Treiber geeignet ist. Ihr Treiber sollte jedoch WdfDeviceInitSetPowerNotPageable aufrufen, wenn der Treiber Teil eines Treiberstapels ist, der während der Stromübergänge nicht auf seitenfähige Daten zugreifen darf (z. B. speicherstapel oder Videostapel), oder wenn der Treiber ein Bustreiber ist, der Geräte aufzählt, die Speicher- oder Videogeräte sein könnten.

Wenn Ihr Treiber WdfDeviceInitSetPowerNotPageableaufruft, muss er dies tun, bevor er WdfDeviceCreateaufruft.

Weitere Informationen zum Aufrufen WdfDeviceCreatefinden Sie unter Creating a Framework Device Object.

Beispiele

Im folgenden Codebeispiel wird der Power Manager darüber informiert, dass ein Treiber nicht auf seitenfähige Daten zugreift, während das System zwischen einem Ruhezustand und dem Arbeitszustand (S0) wechselt.

WdfDeviceInitSetPowerNotPageable(DeviceInit);

Anforderungen

Anforderung Wert
Zielplattform- Universal
Minimale KMDF-Version 1.0
Header- wdfdevice.h (einschließen Wdf.h)
Library Wdf01000.sys (siehe Framework-Bibliotheksversionsverwaltung.)
IRQL- <= DISPATCH_LEVEL
DDI-Complianceregeln ChildDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), KmdfIrql (kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf)

Siehe auch

WdfDeviceInitSetPowerPageable