GetDevicePowerState-Funktion (winbase.h)
Ruft den aktuellen Energiezustand des angegebenen Geräts ab. Diese Funktion kann nicht verwendet werden, um den Energiezustand eines Anzeigegeräts abzufragen.
Syntax
BOOL GetDevicePowerState(
[in] HANDLE hDevice,
[out] BOOL *pfOn
);
Parameter
[in] hDevice
Ein Handle für ein Objekt auf dem Gerät, z. B. eine Datei oder ein Socket, oder ein Handle für das Gerät selbst.
[out] pfOn
Ein Zeiger auf die Variable, die den Energiezustand empfängt. Dieser Wert ist TRUE , wenn sich das Gerät im Arbeitszustand befindet. Andernfalls ist es FALSE.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null.
Hinweise
Eine Anwendung kann GetDevicePowerState verwenden, um zu bestimmen, ob sich ein Gerät im Betriebszustand oder im Energiesparmodus befindet. Wenn sich das Gerät in einem Energiesparzustand befindet, kann der Zugriff auf das Gerät dazu führen, dass es entweder in die Warteschlange eingereiht wird oder E/A-Anforderungen fehlschlägt oder das Gerät in den Betriebszustand versetzt wird. Das genaue Verhalten hängt von der Implementierung des Geräts ab.
Um eine maximale Akkulaufzeit auf einem Laptop zu gewährleisten, verwenden Sie GetDevicePowerState , um den Stromverbrauch zu reduzieren. Wenn ein Datenträger z. B. derzeit heruntergefahren ist, führt der Zugriff auf den Datenträger dazu, dass er hochgefahren wird, was zu einem erhöhten Energieverbrauch und einer geringeren Akkulaufzeit führt.
Anwendungen sollten den Zugriff auf Geräte nach Möglichkeit zurückstellen oder einschränken, während das System mit Akkubetrieb ausgeführt wird. Verwenden Sie die GetSystemPowerStatus-Funktion , um festzustellen, ob das System mit Akkuleistung und der verbleibenden Akkulaufzeit ausgeführt wird.
Anforderungen
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winbase.h (einschließlich Windows.h) |
Bibliothek | Kernel32.lib |
DLL | Kernel32.dll |