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)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

GetSystemPowerStatus

电源管理功能

系统电源状态