PEP_PPM_IDLE_SELECT结构 (pep_x.h)

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 通知使用。 结构的 ConstraintsDependencyArrayCountDependencyArray 成员包含 PoFx 在发送此通知时提供的输入值。 其余成员包含 PEP 为响应通知而写入结构的输出值。

要求

要求
最低受支持的客户端 从 Windows 10 开始支持。
标头 pep_x.h (包括 Pepfx.h)

另请参阅

PEP_NOTIFY_PPM_IDLE_SELECT

PEP_NOTIFY_PPM_QUERY_IDLE_STATES

PEP_PROCESSOR_IDLE_CONSTRAINTS

PEP_PROCESSOR_IDLE_DEPENDENCY