Freigeben über


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 Byte ist sizeof(ULONG). Wenn NULL, ist dies eine neue Registrierung. Wenn kein NULL-Wert ist, verweist dieser Parameter auf ein Handle, das von einem vorherigen Aufruf von PoRegisterSystemStatezurückgegeben wurde.

[in] Flags

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

Wert Bedeutung
ES_SYSTEM_REQUIRED Das System ist nicht im Leerlauf, unabhängig von der scheinbaren Last.
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 wirksam bleiben.

Rückgabewert

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

Bemerkungen

PoRegisterSystemState registriert den System-Beschäftigt-Zustand wie durch die Flags angegeben. Die Registrierung wird beibehalten, bis der Aufrufer sie explizit mit einem anderen Aufruf von PoRegisterSystemState ändert oder mit einem Aufruf von PoUnregisterSystemStateabbricht.

Der parameter Flags gibt den Typ der ausgeführten Aktivität an. Treiber können eine beliebige Kombination der Flags angeben.

Durch Festlegen ES_CONTINUOUS wird der Beschäftigt-Zustand beibehalten, bis ein Treiber sie explizit ändert oder abbricht, indem PoRegisterSystemState oder PoUnregisterSystemStateaufgerufen wird.

Ein Treiber kann den Zustand "Systemlast" festlegen, um anzufordern, dass der Power Manager den Systembetriebszustand aus dem Betriebszustand des Systems (S0) vermeiden kann, während die Treiberaktivität auftritt. Beachten Sie jedoch, dass der Energiemanager unter bestimmten Umständen (z. B. einen kritisch niedrigen Akku) diese Anforderung außer Kraft setzen und das System trotzdem in den Ruhezustand versetzen kann.

Rufen Sie PoSetSystemStateauf, um den Systemstromzustand festzulegen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000
Zielplattform- Universal
Header- ntifs.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- <=APC_LEVEL

Siehe auch

PoSetSystemState-

PoUnregisterSystemState-