GetDevicePowerState 函式 (winbase.h)

擷取指定裝置的目前電源狀態。 此函式無法用來查詢顯示裝置的電源狀態。

語法

BOOL GetDevicePowerState(
  [in]  HANDLE hDevice,
  [out] BOOL   *pfOn
);

參數

[in] hDevice

裝置上物件的控制碼,例如檔案或通訊端,或裝置本身的控制碼。

[out] pfOn

接收 電源狀態之變數的指標。 如果裝置處於工作狀態,則此值為 TRUE 。 否則為 FALSE

傳回值

如果函式成功,則傳回非零的值。

如果此函式失敗,則傳回值為零。

備註

應用程式可以使用 GetDevicePowerState 來判斷裝置是否處於工作狀態或低電源狀態。 如果裝置處於低電源狀態,存取裝置可能會導致裝置排入佇列或失敗任何 I/O 要求,或將裝置轉換為工作狀態。 確切的行為取決於裝置的實作。

若要確保膝上型電腦的最大電池使用時間,請使用 GetDevicePowerState 來降低耗電量。 例如,如果磁片目前已關閉電源,存取磁片會導致其啟動,因而增加耗電量並降低電池使用時間。

當系統在電池電源上執行時,應用程式應該延遲或限制裝置的存取。 若要判斷系統是否在電池電源上執行,以及剩餘的電池使用時間,請使用 GetSystemPowerStatus 函式。

規格需求

   
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 winbase.h (包含 Windows.h)
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

GetSystemPowerStatus

電源管理功能

系統電源狀態