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 |