PoRegisterSystemState-Funktion (ntifs.h)

Die PoRegisterSystemState-Routine registriert das System aufgrund bestimmter Aktivitäten als ausgelastet.

Syntax

PVOID PoRegisterSystemState(
  [in, out] PVOID           StateHandle,
  [in]      EXECUTION_STATE Flags
);

Parameter

[in, out] StateHandle

Ein Zeiger auf einen vom Aufrufer bereitgestellten Puffer für ein Registrierungsstatushandle. Die Größe des Puffers in Bytes ist sizeof(ULONG). Bei NULL handelt es sich um eine neue Registrierung. Wenn dieser Parameter nicht NULL ist, verweist dieser Parameter auf ein Handle, das von einem vorherigen Aufruf von PoRegisterSystemState zurückgegeben wurde.

[in] Flags

Gibt den Typ der Aktivität an, wie durch ein bitweises OR mit einem oder mehreren der folgenden Werte angegeben:

Wert Bedeutung
ES_SYSTEM_REQUIRED Das System befindet sich unabhängig von der scheinbaren Last nicht im Leerlauf.
ES_DISPLAY_REQUIRED Die Verwendung der Anzeige ist erforderlich.
ES_USER_PRESENT Ein Benutzer ist vorhanden.
ES_CONTINUOUS Die Einstellungen sind fortlaufend und sollten bis zur expliziten Änderung in Kraft bleiben.

Rückgabewert

PoRegisterSystemState gibt ein Handle zurück, das später zum Ändern oder Aufheben der Registrierung des Systemstatus "Ausgelastet" verwendet werden soll. Er gibt NULL zurück, wenn das Handle nicht zugeordnet werden konnte.

Hinweise

PoRegisterSystemState registriert den Ausgelastungsstatus des Systems, wie durch die Flags angegeben. Die Registrierung wird beibehalten, bis der Aufrufer sie mit einem anderen Aufruf von PoRegisterSystemState explizit ändert, oder bricht sie mit einem Aufruf von PoUnregisterSystemState ab.

Der Flags-Parameter gibt den Typ der laufenden Aktivität an. Treiber können eine beliebige Kombination der Flags angeben.

Wenn Sie ES_CONTINUOUS festlegen, bleibt der Auslastungszustand so lange erhalten, bis ein Treiber ihn durch Aufrufen von PoRegisterSystemState oder PoUnregisterSystemState explizit ändert oder abbricht.

Ein Treiber kann den Zustand "Ausgelastet" des Systems festlegen, um anzufordern, dass der Energie-Manager den Systemenergiezustand nicht aus dem Systemarbeitszustand (S0) übergeht, während die Treiberaktivität auftritt. Beachten Sie jedoch, dass der Energie-Manager unter bestimmten Umständen (z. B. bei einem extrem niedrigen Akku) diese Anforderung außer Kraft setzen und das System trotzdem in den Energiesparmodus versetzt.

Rufen Sie PoSetSystemState auf, um den Energiezustand des Systems festzulegen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000
Zielplattform Universell
Header ntifs.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <=APC_LEVEL

Weitere Informationen

PoSetSystemState

PoUnregisterSystemState