Freigeben über


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

Siehe auch

GetSystemPowerStatus

Energieverwaltungsfunktionen

Systemstromstatus