PoFxQueryCurrentComponentPerfState 函数 (wdm.h)

PoFxQueryCurrentComponentPerfState 例程检索组件性能状态集中的活动性能状态。

语法

NTSTATUS PoFxQueryCurrentComponentPerfState(
  [in] POHANDLE   Handle,
  [in] ULONG      Flags,
  [in] ULONG      Component,
  [in] ULONG      SetIndex,
  [in] PULONGLONG CurrentPerf
);

参数

[in] Handle

表示设备注册到电源管理框架 (PoFx) 的句柄。 设备驱动程序以前从 PoFxRegisterDevice 例程收到此句柄。

[in] Flags

设置为 0。 目前,没有为此例程定义任何标志。

[in] Component

标识正在检索其性能状态的组件的索引。 此参数是设备驱动程序用于将设备注册到 PoFx 的 PO_FX_DEVICE 结构中的 Components 数组的索引。 如果 Components 数组包含 N 个元素,则组件索引的范围为 0 到 N–1。

[in] SetIndex

标识正在查询其性能的性能状态集的索引。 此参数是设备驱动程序用于向 PoFx 注册组件性能状态的 PO_FX_COMPONENT_PERF_INFO 结构中 PerfStateSets 数组的索引。 如果 PerfStateSets 数组包含 N 个元素,则性能状态集索引范围为 0 到 N–1。

[in] CurrentPerf

指向变量的指针,其中返回指定性能状态集的当前性能状态。 有关返回的值的详细信息,请参阅备注。

返回值

如果请求的操作成功,PoFxQueryCurrentComponentPerfState 将返回STATUS_SUCCESS。 可能的错误返回值包括以下状态代码。

返回代码 说明
STATUS_INVALID_PARAMETER
调用方为组件或组件状态集提供了无效索引。

注解

驱动程序可以调用 PoFxQueryCurrentComponentPerfState 例程来检索组件的给定性能状态集的当前性能状态。 如果调用成功, CurrentPerf 参数将被指向指定集当前性能状态的值的指针覆盖。 此值可能是下列值之一,具体取决于驱动程序传递给 PoFxRegisterComponentPerfStates 例程的 PO_FX_COMPONENT_PERF_SET 结构的内容:

  • 对于表示性能状态连续分布的性能状态集,这是PO_FX_COMPONENT_PERF_SET结构的最小值最大值成员之间的值。
  • 对于表示离散性能状态数的性能状态集,此值是PO_FX_COMPONENT_PERF_SET结构 的 State 成员的索引。
此调用始终同步执行。

要求

要求
最低受支持的客户端 从 Windows 10 开始可用。
目标平台 通用
标头 wdm.h
Library Ntoskrnl.lib
DLL Ntoskrnl.exe
IRQL <= DISPATCH_LEVEL

另请参阅

设备性能状态管理

PO_FX_COMPONENT_PERF_INFO

PO_FX_COMPONENT_PERF_SET

PoFxRegisterComponentPerfStates