BATTERY_QUERY_INFORMATION結構
包含電池查詢資訊。 此結構會與 IOCTL_BATTERY_QUERY_INFORMATION 控制項程式碼搭配使用,以指定要傳回的資訊類型。
語法
typedef struct _BATTERY_QUERY_INFORMATION {
ULONG BatteryTag;
BATTERY_QUERY_INFORMATION_LEVEL InformationLevel;
LONG AtRate;
} BATTERY_QUERY_INFORMATION, *PBATTERY_QUERY_INFORMATION;
成員
-
BatteryTag
-
電池的目前電池標籤。 只能傳回符合標籤的電池資訊。 每當此值不符合電池的目前標籤時,IOCTL 要求將會以ERROR_FILE_NOT_FOUND完成。 這表示呼叫端的電池與標記較長存在。 呼叫端可以選擇使用 IOCTL_BATTERY_QUERY_TAG 作業來判斷新安裝的電池標記,如果有的話。 (如需詳細資訊,請參閱 電池標籤 。)
提出查詢資訊要求時,會驗證此值。 此外,如果要求在此值變更時正在進行中,則會中止要求,且狀態為 ERROR_FILE_NOT_FOUND。
-
InformationLevel
-
正在查詢的電池資訊層級。 IOCTL 傳回的資料取決於此值。 這個成員可以是下列其中一個值。
值 意義 - BatteryDeviceName
- 4
以 Null 結尾的 Unicode 字串,其中包含電池的名稱。 - BatteryEstimatedTime
- 3
ULONG,指定預估的電池執行時間,以秒為單位。 如果BATTERY_QUERY_INFORMATION結構之AtRate成員中提供的清空率為零,則此計算是以目前的清空率為基礎。 如果 AtRate 為非零,傳回的時間會是指定速率的預期執行時間。 例如,如果估計時間未知 (,則電池不會放開,而且指定的 AtRate 是零) ,則傳回值會BATTERY_UNKNOWN_TIME。 請注意,在某些電池系統上這個值並不精確,而且可能會因目前的電源使用量而有很大的差異,這可能會受到磁片活動和其他因素的影響。 這個值沒有變更的通知機制。 - BatteryGranularityInformation
- 1
BATTERY_REPORTING_SCALE結構的陣列,永遠不會超過四個專案。 - BatteryInformation
- 0
BATTERY_INFORMATION結構。 - BatteryManufactureDate
- 5
BATTERY_MANUFACTURE_DATE結構。 - BatteryManufactureName
- 6
以 Null 終止的 Unicode 字串,指定電池製造商的名稱。 - BatterySerialNumber
- 8
以 Null 終止的 Unicode 字串,指定電池的序號。 - BatteryTemperature
- 2
ULONG,指定電池目前溫度,以 Kelvin 度 10 秒為單位。 - BatteryUniqueID
- 7
以 Null 終止的 Unicode 字串,可唯一識別電池。 這個值可用來追蹤特定的電池。 在智慧電池的情況下,此識別碼會是製造商名稱、裝置名稱、製造日期,以及可列印的序號標記法。
此值並非要向使用者顯示。 -
AtRate
-
只有在 InformationLevel 為 BatteryEstimatedTime 時,才會使用此成員。
如果這個成員是非零的,則會是清空率,用來計算電池在針對個別電池的 BatteryEstimatedTime 釋放電池之前的時間。 它必須在 mW 中指定,而且必須是負值,才能表示電池計量釋放率。
備註
某些電池的相關資訊是選擇性的,或對於某些電池而言可能沒有意義。 如果目前電池無法使用所要求的特定資料類型,則會傳回ERROR_INVALID_FUNCTION。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows Server 2003 [僅限桌面應用程式] |
標頭 |
|