powerSetRequest 函数 (winbase.h)
递增电源请求对象的指定类型的电源请求计数。
语法
BOOL PowerSetRequest(
[in] HANDLE PowerRequest,
[in] POWER_REQUEST_TYPE RequestType
);
参数
[in] PowerRequest
电源请求对象的句柄。
[in] RequestType
要递增的电源请求类型。 此参数的取值可为下列值之一:
值 | 说明 |
---|---|
PowerRequestDisplayRequired | 即使长时间没有用户输入,显示器也会保持打开状态。 注意: 除了 PowerRequestDisplayRequired 外,还必须使用 PowerRequestSystemRequired ,以确保显示器保持打开状态,并且系统在请求期间不会进入睡眠状态。 |
PowerRequestSystemRequired | 系统在用户不活动一段时间后继续运行,而不是进入睡眠状态。 |
PowerRequestAwayModeRequired | 系统进入离开模式而不是睡眠模式,以响应用户的显式操作。 在离开模式下,系统继续运行,但会关闭音频和视频,以呈现睡眠状态。 PowerRequestAwayModeRequired 仅适用于传统睡眠 (S3) 系统。 |
PowerRequestExecutionRequired | 调用进程将继续运行,而不是被进程生存期管理机制挂起或终止。 允许进程运行的时间和时长取决于操作系统和电源策略设置。 在传统睡眠 (S3) 系统上,活动的 PowerRequestExecutionRequired 请求意味着 PowerRequestSystemRequired。 |
返回值
如果函数成功,则返回非零值。
如果函数失败,则返回零。 要获得更多的错误信息,请调用 GetLastError。
注解
在采用 DC 电源的新式待机系统上,系统睡眠超时过期后 5 分钟终止系统和执行所需的电源请求。
传统睡眠 (S3) 系统上的 PowerRequestAwayModeRequired 除外,在用户启动的系统睡眠进入 (电源按钮、关闭盖子或从“开始”菜单) 选择“睡眠”时,电源请求将终止。
为了节省电源并提供最佳用户体验,使用电源请求的应用程序应遵循以下最佳做法:
- 创建电源请求时,请提供一个本地化文本字符串,用于描述 REASON_CONTEXT 结构中的请求原因。
- 在需要请求的方案之前立即调用 PowerSetRequest 。
- 调用 PowerClearRequest 以在方案完成后立即递减请求的引用计数。
- 在进程退出或服务停止之前,清理所有请求对象和关联的句柄。
要求
最低受支持的客户端 | Windows 7 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
目标平台 | Windows |
标头 | winbase.h (包括 Windows.h) |
Library | Kernel32.lib |
DLL | Kernel32.dll |