Freigeben über


CallNtPowerInformation-Funktion (powerbase.h)

Legt Energieinformationen fest oder ruft sie ab.

Syntax

NTSTATUS CallNtPowerInformation(
  [in]  POWER_INFORMATION_LEVEL InformationLevel,
  [in]  PVOID                   InputBuffer,
  [in]  ULONG                   InputBufferLength,
  [out] PVOID                   OutputBuffer,
  [in]  ULONG                   OutputBufferLength
);

Parameter

[in] InformationLevel

Die angeforderte Informationsebene. Dieser Wert gibt die spezifischen Energieinformationen an, die festgelegt oder abgerufen werden sollen. Dieser Parameter muss einer der folgenden Werte POWER_INFORMATION_LEVEL Enumerationstyps sein.

Wert Bedeutung
AdministratorPowerPolicy
9
Diese Informationsebene wird nicht unterstützt.
LastSleepTime
15
Der lpInBuffer-Parameter muss NULL sein. Andernfalls gibt die Funktion ERROR_INVALID_PARAMETER zurück.

Der puffer lpOutputBuffer empfängt einen ULONGLONG, der die Interruptzeitanzahl in Einheiten von 100 Nanosekunden zur letzten Ruhezeit des Systems angibt.

LastWakeTime
14
Der lpInBuffer-Parameter muss NULL sein. Andernfalls gibt die Funktion ERROR_INVALID_PARAMETER zurück.

Der lpOutputBuffer-Puffer empfängt einen ULONGLONG-Wert , der die Interruptzeitanzahl in Einheiten von 100 Nanosekunden zur letzten Systemaktivierung angibt.

ProcessorInformation
11
Der lpInBuffer-Parameter muss NULL sein. andernfalls gibt die Funktion ERROR_INVALID_PARAMETER zurück.

Der puffer lpOutputBuffer empfängt eine PROCESSOR_POWER_INFORMATION Struktur für jeden Prozessor, der auf dem System installiert ist. Verwenden Sie die GetSystemInfo-Funktion , um die Anzahl der Prozessoren abzurufen.

ProcessorPowerPolicyAc
18
Diese Informationsebene wird nicht unterstützt.
ProcessorPowerPolicyCurrent
22
Diese Informationsebene wird nicht unterstützt.
ProcessorPowerPolicyDc
19
Diese Informationsebene wird nicht unterstützt.
SystemBatteryState
5
Der lpInBuffer-Parameter muss NULL sein. Andernfalls gibt die Funktion ERROR_INVALID_PARAMETER zurück.

Der puffer lpOutputBuffer empfängt eine SYSTEM_BATTERY_STATE Struktur , die Informationen zum aktuellen Systemakku enthält.

SystemExecutionState
16
Der lpInBuffer-Parameter muss NULL sein. andernfalls gibt die Funktion ERROR_INVALID_PARAMETER zurück.

Der puffer lpOutputBuffer empfängt einen ULONG-Wert , der den Systemausführungsstatuspuffer enthält. Dieser Wert kann eine beliebige Kombination der folgenden Werte enthalten: ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED oder ES_USER_PRESENT. Weitere Informationen finden Sie in der SetThreadExecutionState-Funktion .

SystemPowerCapabilities
4
Der lpInBuffer-Parameter muss NULL sein, andernfalls gibt die Funktion ERROR_INVALID_PARAMETER zurück.

Der lpOutputBuffer-Puffer empfängt eine SYSTEM_POWER_CAPABILITIES-Struktur , die die aktuellen Systemleistungsfunktionen enthält.

Diese Informationen stellen die derzeit unterstützten Energiefunktionen dar. Es kann sich ändern, wenn Treiber im System installiert sind. Beispielsweise deaktiviert die Installation von Legacy-Gerätetreibern, die die Energieverwaltung nicht unterstützen, alle Systemmoduszustände.

SystemPowerInformation
12
Der lpInBuffer-Parameter muss NULL sein. Andernfalls gibt die Funktion ERROR_INVALID_PARAMETER zurück.

Der puffer lpOutputBuffer empfängt eine SYSTEM_POWER_INFORMATION Struktur.

Anwendungen können diese Ebene verwenden, um Informationen über den Leerlauf des Systems abzurufen.

SystemPowerPolicyAc
0
Wenn lpInBuffer nicht NULL ist, wendet die Funktion die in lpInBuffer übergebenen SYSTEM_POWER_POLICY-Werte auf die aktuelle Systemstromrichtlinie an, die verwendet wird, während das System mit Netzstrom (Versorgungsstrom) ausgeführt wird.

Der puffer lpOutputBuffer empfängt eine SYSTEM_POWER_POLICY-Struktur , die die aktuelle Systemenergierichtlinie enthält, die verwendet wird, während das System mit Netzstrom (Hilfsstrom) ausgeführt wird.

SystemPowerPolicyCurrent
8
Der lpInBuffer-Parameter muss NULL sein. Andernfalls gibt die Funktion ERROR_INVALID_PARAMETER zurück.

Der puffer lpOutputBuffer empfängt eine SYSTEM_POWER_POLICY-Struktur , die die aktuelle Systemenergierichtlinie enthält, die verwendet wird, während das System mit Netzstrom (Hilfsstrom) ausgeführt wird.

SystemPowerPolicyDc
1
Wenn lpInBuffer nicht NULL ist, wendet die Funktion die in lpInBuffer übergebenen SYSTEM_POWER_POLICY Werte auf die aktuelle Systemleistungsrichtlinie an, die verwendet wird, während das System mit Akkuleistung ausgeführt wird.

Der puffer lpOutputBuffer empfängt eine SYSTEM_POWER_POLICY-Struktur , die die aktuelle Systemenergierichtlinie enthält, die verwendet wird, während das System mit Batteriebetrieb ausgeführt wird.

SystemReserveHiberFile
10
Wenn lpInBuffer nicht NULL ist und der aktuelle Benutzer über ausreichende Berechtigungen verfügt, wird der Speicher, der zum Speichern des Ruhezustandsimages auf dem Startvolume erforderlich ist, von der Funktion commits oder decommittiert.

Der lpInBuffer-Parameter muss auf einen BOOLEAN-Wert verweisen, der die gewünschte Anforderung angibt. Wenn der Wert TRUE ist, ist die Ruhezustandsdatei reserviert. wenn der Wert FALSE ist, wird die Ruhezustandsdatei entfernt.

VerifyProcessorPowerPolicyAc
20
Diese Informationsebene wird nicht unterstützt.
VerifyProcessorPowerPolicyDc
21
Diese Informationsebene wird nicht unterstützt.
VerifySystemPolicyAc
2
Diese Informationsebene wird nicht unterstützt.
VerifySystemPolicyDc
3
Diese Informationsebene wird nicht unterstützt.

[in] InputBuffer

Ein Zeiger auf einen optionalen Eingabepuffer. Der Datentyp dieses Puffers hängt von der im InformationLevel-Parameter angeforderten Informationsebene ab.

[in] InputBufferLength

Die Größe des Eingabepuffers in Bytes.

[out] OutputBuffer

Ein Zeiger auf einen optionalen Ausgabepuffer. Der Datentyp dieses Puffers hängt von der im InformationLevel-Parameter angeforderten Informationsebene ab. Wenn der Puffer zu klein ist, um die Informationen zu enthalten, gibt die Funktion STATUS_BUFFER_TOO_SMALL zurück.

[in] OutputBufferLength

Die Größe des Ausgabepuffers in Bytes. Je nach angeforderter Informationsebene kann es sich hierbei um einen Puffer mit unterschiedlicher Größe handelt.

Rückgabewert

Wenn die Funktion erfolgreich ist, wird der Rückgabewert STATUS_SUCCESS.

Wenn die Funktion fehlschlägt, kann der Rückgabewert einer der folgenden status Codes sein.

Status Bedeutung
STATUS_BUFFER_TOO_SMALL
Der Ausgabepuffer hat keine ausreichende Größe, um die zurückzugebenden Daten zu enthalten.
STATUS_ACCESS_DENIED
Der Aufrufer verfügte über unzureichende Zugriffsrechte, um die angeforderte Aktion auszuführen.

Hinweise

Änderungen, die mit CallNtPowerInformation an der aktuellen Systemenergierichtlinie vorgenommen werden, sind sofort, aber nicht dauerhaft. Das heißt, die Änderungen werden nicht als Teil eines Energieschemas gespeichert. Alle Änderungen an der Systemenergierichtlinie, die mit CallNtPowerInformation vorgenommen werden, können durch Änderungen an einem Richtlinienschema überschrieben werden, die vom Benutzer im Systemsteuerungsprogramm "Energieoptionen" vorgenommen werden, oder durch nachfolgende Aufrufe von WritePwrScheme, SetActivePwrScheme oder anderen Energieschemafunktionen.

Weitere Informationen zur Verwendung von PowrProf.h finden Sie unter Energieschemas.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile powerbase.h
Bibliothek PowrProf.lib
DLL PowrProf.dll

Weitere Informationen

ADMINISTRATOR_POWER_POLICY

PROCESSOR_POWER_INFORMATION

PROCESSOR_POWER_POLICY

Energieverwaltungsfunktionen

SYSTEM_BATTERY_STATE Struktur

SYSTEM_POWER_CAPABILITIES

SYSTEM_POWER_INFORMATION

SYSTEM_POWER_POLICY