SYSTEM_POWER_STATUS構造体 (winbase.h)

システムの電源状態に関する情報が含まれます。

構文

typedef struct _SYSTEM_POWER_STATUS {
  BYTE  ACLineStatus;
  BYTE  BatteryFlag;
  BYTE  BatteryLifePercent;
  BYTE  SystemStatusFlag;
  DWORD BatteryLifeTime;
  DWORD BatteryFullLifeTime;
} SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS;

メンバー

ACLineStatus

AC 電源の状態。 このメンバーには、次のいずれかの値を指定できます。

説明
0
オフライン
1
オンライン
255
[不明] 状態

BatteryFlag

バッテリーの充電状態。 このメンバーには、次のフラグを 1 つ以上含めることができます。

説明
1
高 — バッテリ容量は 66% を超えています
2
低 —バッテリ容量は 33% 未満です
4
クリティカル— バッテリ容量は 5% 未満です
8
充電
128
システム バッテリーなし
255
不明な状態— バッテリー フラグ情報を読み取ることができません
 

バッテリーが充電されておらず、バッテリ容量が低から高の間にある場合、値はゼロです。

BatteryLifePercent

完全なバッテリ残量の割合。 このメンバーには、0 ~ 100 の範囲の値、または状態が不明な場合は 255 の値を指定できます。

SystemStatusFlag

バッテリー セーバーの状態。 省エネに参加するには、バッテリー節約機能がオンのときにリソースを大量に消費するタスクを回避します。 この値が変更されたときに通知を受け取る場合は、電源設定 GUID を使用して RegisterPowerSettingNotification 関数を呼び出GUID_POWER_SAVING_STATUS

説明
0
バッテリー節約機能がオフです。
1
バッテリー節約機能をオンにします。 可能な限りエネルギーを節約します。
 
メモこのフラグとGUID_POWER_SAVING_STATUS GUID は、Windows 10で導入されました。 このフラグは、 Reserved1 という名前の以前に予約されており、値が 0 でした。
 
バッテリー 節約機能の一般的な情報については、 バッテリー 節約機能 (ハードウェア コンポーネントのガイドライン) を参照してください。

BatteryLifeTime

バッテリー残量の秒数。残りの秒数が不明な場合、またはデバイスが AC 電源に接続されている場合は -1。

BatteryFullLifeTime

完全充電時のバッテリ寿命の秒数。完全なバッテリ寿命が不明な場合、またはデバイスが AC 電源に接続されている場合は -1。

解説

このシステムでは、BatteryLifeTime と BatteryLifePercent の計算に基づいて BatteryFullLifeTime のみを推定できます。 スマート バッテリー サブシステムがない場合、この値は役に立つほど正確でない可能性があります。

要件

   
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header winbase.h (Windows.h を含む)

関連項目

GetSystemPowerStatus

PBT_APMPOWERSTATUSCHANGE

バッテリー 節約機能 (ハードウェア コンポーネントのガイドライン)