PEP_PPM_IDLE_SELECT 结构描述了处理器可以进入且仍满足作系统指定的约束的最节能空闲状态。
语法
typedef struct _PEP_PPM_IDLE_SELECT {
[in] PPEP_PROCESSOR_IDLE_CONSTRAINTS Constraints;
[out] BOOLEAN AbortTransition;
[out] ULONG IdleStateIndex;
[out] ULONG DependencyArrayUsed;
[in] ULONG DependencyArrayCount;
[in] PPEP_PROCESSOR_IDLE_DEPENDENCY DependencyArray;
[out] ULONG PlatformIdleStateIndex;
} PEP_PPM_IDLE_SELECT, *PPEP_PPM_IDLE_SELECT;
成员
[in] Constraints
指向 PEP_PROCESSOR_IDLE_CONSTRAINTS 结构的指针,该结构指定所选处理器空闲状态必须满足的约束。 作系统设置此结构中的值。 平台扩展插件(PEP)必须选择满足这些约束的处理器空闲状态。
[out] AbortTransition
是否取消对处理器空闲状态的挂起转换。 如果 PEP 要求作系统取消挂起的转换,则将此成员设置为 TRUE,否则设置为 FALSE。 如果 PEP 想要将工作排入队列,并在处理器进入空闲状态之前让 Windows 内核进程正常工作,则 PEP 会选择此选项。
[out] IdleStateIndex
标识处理器要输入的空闲状态的索引。 如果 AbortTransition = TRUE,则忽略此成员。 如果处理器支持 N 空闲状态,则空闲状态索引范围为 0 到 N–1。 PEP 提供了此处理器支持的空闲状态数,以响应以前的 PEP_NOTIFY_PPM_QUERY_IDLE_STATES 通知。
[out] DependencyArrayUsed
PEP 实际写入到输出缓冲区的数组元素数指向 DependencyArray 成员。
[in] DependencyArrayCount
DependencyArray 成员指向的数组中元素的最大数目。 DependencyArrayCount 成员值等于 PEP 先前为响应 PEP_NOTIFY_PPM_QUERY_IDLE_STATES 通知而提供的 MaximumCoordinatedProcessors 值。
[in] DependencyArray
指向 PEP 向其写入 PEP_PROCESSOR_IDLE_DEPENDENCY 结构的数组的输出缓冲区的指针。 此数组的元素指定必须满足此空闲转换才能成功的处理器空闲依赖项或唤醒依赖项。 PEP 将 DependencyArrayUsed 成员设置为 PEP 写入缓冲区的实际数组元素数。 输出缓冲区由 Windows 电源管理框架(PoFx)分配,并保证其大小足以包含由 DependencyArrayCount 成员指定的数组元素数。
[out] PlatformIdleStateIndex
当处理器进入所选处理器空闲状态时,平台要输入的平台空闲状态的索引。 仅当平台与处理器同时进入空闲状态时,PEP 才应设置此成员。 如果 AbortTransition 为 TRUE,则忽略此成员。
言论
PEP_NOTIFY_PPM_IDLE_SELECT 通知使用此结构。 约束、DependencyArrayCount和 DependencyArray 成员包含 PoFx 发送此通知时提供的输入值。 其余成员包含 PEP 写入到结构以响应通知的输出值。
要求
| 要求 | 价值 |
|---|---|
| 最低支持的客户端 | 从 Windows 10 开始支持。 |
| 标头 | pep_x.h (包括 Pepfx.h) |
另请参阅
PEP_NOTIFY_PPM_QUERY_IDLE_STATES