PEP_REQUEST_COMPONENT_PERF_STATE结构(pepfx.h)
PEP_REQUEST_COMPONENT_PERF_STATE 结构包含 Windows 电源管理框架(PoFx)请求的性能状态(P 状态)更改列表,以及平台扩展插件(PEP)处理这些请求的状态信息。
语法
typedef struct _PEP_REQUEST_COMPONENT_PERF_STATE {
[in] PEPHANDLE DeviceHandle;
[in] ULONG Component;
[out] BOOLEAN Completed;
[out] BOOLEAN Succeeded;
[in] ULONG PerfRequestsCount;
[in] PPEP_COMPONENT_PERF_STATE_REQUEST PerfRequests;
} PEP_REQUEST_COMPONENT_PERF_STATE, *PPEP_REQUEST_COMPONENT_PERF_STATE;
成员
[in] DeviceHandle
标识设备的 PEPHANDLE 值。 PEP 提供了此句柄,以响应以前的 PEP_DPM_REGISTER_DEVICE 通知。
[in] Component
标识组件的索引。 此成员是 PEP_DEVICE_REGISTER_V2 结构中 Components 数组的索引,PEP 以前为响应此设备的 PEP_DPM_REGISTER_DEVICE 通知而提供的数组。 如果 组件 数组包含 N 个元素,则组件索引的范围从 0 到 N–1。
[out] Completed
PEP 是否已完成请求的 P 状态更改。 设置为 TRUE 以指示 P 状态更改同步完成。 设置为 FALSE 以指示请求的 P 状态更改处于挂起状态,并且将由 PEP 工作线程异步完成。 有关详细信息,请参阅“备注”。
[out] Succeeded
请求的 P 状态是否成功完成。 如果 PEP 成功完成了 PerfRequests 数组中请求的所有 P 状态更改,则设置为 TRUE。 如果 PEP 无法执行所有请求的 P 状态更改,则设置为 FALSE,在这种情况下,硬件中的 P 状态保持不变。 成功 成员仅用于 同步 P 状态更改。 如果 PEP Completed 设置为 FALSE,则 PoFx 将忽略 成功 成员中的值。
[in] PerfRequestsCount
PerfRequests 成员指向的数组中请求的 P 状态更改数。
[in] PerfRequests
指向 PEP_COMPONENT_PERF_STATE_REQUEST 结构的数组的指针。 数组中的每个元素都指定要分配给 P 状态集的新性能级别。 数组元素的数目由 PerfRequestsCount 成员指定。
言论
PEP_DPM_REQUEST_COMPONENT_PERF_STATE 通知使用此结构。 DeviceHandle、组件、PerfRequestsCount,以及 PerfRequests 结构的成员包含发送此通知时 PoFx 提供的输入值。 已完成 和 成功 成员包含 PEP 写入到结构的输出值,以响应通知。
PEP 可以同步或异步完成请求的 P 状态更改。 PEP 可以将 已完成 成员设置为 TRUE,以指示 PEP_DPM_REQUEST_COMPONENT_PERF_STATE 通知中的所有请求已同步完成,即在 PEP 的 AcceptDeviceNotification 回调例程返回之前。 或者,PEP 可以将 已完成 设置为 FALSE,以指示请求将以异步方式完成。 若要异步完成请求,PEP 应调用 RequestWorker 例程,以通知 PoFx PEP 有要提交的工作请求,PoFx 将通过向 PEP 发送 PEP_DPM_WORK 通知来响应。
PoFx 在发送 PEP_DPM_REQUEST_COMPONENT_PERF_STATE 通知之前,将请求的 P 状态更改写入 PerfRequests 数组。 如果 PEP 处理请求的 P 状态更改 同步,则 PerfRequests 数组的内容仅在从 AcceptDeviceNotification 回调例程返回之前保持有效。 如果请求 异步完成,数组内容将保持有效状态,直到 PEP 调用 [CompleteWork 例程以通知 PoFx PEP 已完成挂起的请求。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 从 Windows 10 开始支持。 |
标头 | pepfx.h (include Pep_x.h) |
另请参阅
PEP_COMPONENT_PERF_STATE_REQUEST