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 |
---|---|
|
Diese Informationsebene wird nicht unterstützt. |
|
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. |
|
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. |
|
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. |
|
Diese Informationsebene wird nicht unterstützt. |
|
Diese Informationsebene wird nicht unterstützt. |
|
Diese Informationsebene wird nicht unterstützt. |
|
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. |
|
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 . |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
Diese Informationsebene wird nicht unterstützt. |
|
Diese Informationsebene wird nicht unterstützt. |
|
Diese Informationsebene wird nicht unterstützt. |
|
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 |
---|---|
|
Der Ausgabepuffer hat keine ausreichende Größe, um die zurückzugebenden Daten zu enthalten. |
|
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 |