共用方式為


BATTERY_INFORMATION結構

包含電池資訊。 當要求 BatteryInformation 資訊層級時, IOCTL_BATTERY_QUERY_INFORMATION 控制項程式碼會傳回這個結構。

語法

typedef struct _BATTERY_INFORMATION {
  ULONG Capabilities;
  UCHAR Technology;
  UCHAR Reserved[3];
  UCHAR Chemistry[4];
  ULONG DesignedCapacity;
  ULONG FullChargedCapacity;
  ULONG DefaultAlert1;
  ULONG DefaultAlert2;
  ULONG CriticalBias;
  ULONG CycleCount;
} BATTERY_INFORMATION, *PBATTERY_INFORMATION;

成員

Capabilities

電池功能。 這個成員可以是下列一或多個值。

意義
BATTERY_CAPACITY_RELATIVE
0x40000000
表示電池容量和速率資訊是相對的,而不是任何特定單位。 如果未設定此位,則報表單位會是 milliwatt-hours (mWh) 容量,而 milliwatts (mW) 的速率。 如果設定此位,則可以忽略其他電池檔中所有對單位的參考。 每小時會以單位報告所有費率資訊。 例如,如果完全充電容量回報為 100,則 200 的費率表示電池會在半小時內使用其所有容量。
BATTERY_IS_SHORT_TERM
0x20000000
表示正常作業適用于安全函式。 如果未設定此位,則預期會在一般系統使用期間使用電池。
BATTERY_SET_CHARGE_SUPPORTED
0x00000001
指出此電池裝置支援設定 BatteryCharge 類型的資訊要求。
BATTERY_SET_DISCHARGE_SUPPORTED
0x00000002
表示此電池裝置支援設定 BatteryDischarge 類型的資訊要求。
BATTERY_SYSTEM_BATTERY
0x80000000
表示電池可以提供一般電源來執行系統。

技術

電池技術。 這個成員可以是下列其中一個值。

意義
0
不可重載的電池,例如,電池。
1
可充電的電池,例如,前置 acid。

已保留

保留的。

化學

表示電池化學的縮寫字元字串。 此字串不一定以零為終止。 以下是可傳回的縮寫部分清單,以及相關聯的化學。

Unicode 字串 意義
PbAc
潛在客戶 Acid
獅子
電光
Li-I
電光
NiCd
水鐺
Nimh
金屬水化
NiZn
水鐺
RAM
可Alkaline-Manganese

未來可能會顯示其他化學,而且您的程式碼應該能夠處理它們。

DesignedCapacity

除非設定BATTERY_CAPACITY_RELATIVE,否則在 mWh 中為新的電池理論上容量。 在此情況下,單位是未定義的。

FullChargedCapacity

電池目前的完全充電容量,以 mWh (或相對) 為單位。 將此值與 DesignedCapacity 進行比較,以估計電池的耗電量。

DefaultAlert1

製造商的建議容量,以 mWh 為單位,此時應該發生低電池警示。 低的定義會因製造商而異。 一般而言,警告狀態會在低狀態之前發生,但您不應該假設它一律會。 為了降低資料遺失的風險,此值通常用來作為重要電池警示的預設設定。

DefaultAlert2

製造商的建議容量,以 mWh 為單位,此時應該發生警告電池警示。 警告的定義會因製造商而異。 一般而言,警告狀態會在低狀態之前發生,但您不應該假設它一律會。 為了降低資料遺失的風險,此值通常用來作為低電池警示的預設設定。

CriticalBias

mWh 中零的偏差,會套用至電池報告。 有些電池會保留小電量,因為電池的容量值偏偏,以將 「0」 顯示為重要的電池計量。 重大偏差類似于設定燃料量測計,以在剩餘數個油油時顯示「空白」。

CycleCount

電池所經歷的充電/釋放迴圈次數。 這提供一種方法來判斷電池的耗電量。 如果電池不支援迴圈計數器,則此成員為零。

備註

一般而言,警告狀態會在低狀態之前發生,但您不應該假設會。 可以輪詢電池,併發現兩個警示等級都未發生,並再次輪詢電池,併發現這兩個層級都已達到該程度。 這可能表示您不常輪詢。 它也可能表示電池無法保留非常長的費用,而且會比您預期的更快卸載。 這類電池可能接近其使用期限的結尾,或可能損毀。

規格需求

需求
最低支援的用戶端
Windows XP [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2003 [僅限桌面應用程式]
標頭
Poclass.h;
Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP 上的 Batclass.h

另請參閱

IOCTL_BATTERY_QUERY_INFORMATION