PERF_COUNTER_REG_INFO 结构 (perflib.h)

提供有关性能计数器的注册信息。

语法

typedef struct _PERF_COUNTER_REG_INFO {
  ULONG     CounterId;
  ULONG     Type;
  ULONGLONG Attrib;
  ULONG     DetailLevel;
  LONG      DefaultScale;
  ULONG     BaseCounterId;
  ULONG     PerfTimeId;
  ULONG     PerfFreqId;
  ULONG     MultiId;
  ULONG     AggregateFunc;
  ULONG     Reserved;
} PERF_COUNTER_REG_INFO, *PPERF_COUNTER_REG_INFO;

成员

CounterId

计数器集中性能计数器的唯一标识符。 计数器集最多可以包含 64,000 个性能计数器。

Type

性能计数器的类型。 有关预定义计数器类型的信息,请参阅 Windows Server 2003 部署工具包的计数器类型部分。 使用者使用计数器类型来确定如何计算和显示计数器值。 提供程序应将其对计数器类型的选择限制为预定义列表。

可能的值包括:

PERF_100NSEC_MULTI_TIMER

PERF_100NSEC_MULTI_TIMER_II

PERF_100NSEC_TIMER

PERF_100NSEC_TIMER_INV

PERF_AVERAGE_BASE

PERF_AVERAGE_BULK

PERF_AVERAGE_TIMER

PERF_COUNTER_100NS_QUEUELEN_TYPE

PERF_COUNTER_BULK_COUNT

PERF_COUNTER_COUNTER

PERF_COUNTER_DELTA

PERF_COUNTER_LARGE_DELTA

PERF_COUNTER_LARGE_QUEUELEN_TYPE

PERF_COUNTER_LARGE_RAWCOUNT

PERF_COUNTER_LARGE_RAWCOUNT_HEX

PERF_COUNTER_MULTI_TIMER

PERF_COUNTER_MULTI_TIMER_INV

PERF_COUNTER_OBJ_QUEUELEN_TYPE

PERF_COUNTER_RAWCOUNT

PERF_COUNTER_RAWCOUNT_HEX

PERF_COUNTER_TEXT

PERF_COUNTER_TIMER

PERF_COUNTER_TIMER_INV

PERF_ELAPSED_TIME

PERF_LARGE_RAW_BASE

PERF_OBJ_TIME_TIMER

PERF_PRECISION_100NS_TIMER

PERF_PRECISION_TIMER

PERF_PRECISION_OBJECT_TIMER

PERF_RAW_BASE

PERF_RAW_FRACTION

PERF_SAMPLE_COUNTER

PERF_SAMPLE_FRACTION

Attrib

指示如何显示此计数器的一个或多个属性。

可能的值包括:

含义
PERF_ATTRIB_BY_REFERENCE
通过引用而不是按值检索计数器的值。
PERF_ATTRIB_NO_DISPLAYABLE
不显示计数器值。
PERF_ATTRIB_NO_GROUP_SEPARATOR
显示计数器值时不要使用数字分隔符。
PERF_ATTRIB_DISPLAY_AS_REAL
将计数器值显示为实际值。
PERF_ATTRIB_DISPLAY_AS_HEX
将计数器值显示为十六进制数。
 

PERF_ATTRIB_NO_GROUP_SEPARATORPERF_ATTRIB_DISPLAY_AS_REALPERF_ATTRIB_DISPLAY_AS_HEX的属性不是互斥的。 如果指定所有三个属性,则按给定的顺序为属性提供优先级。

DetailLevel

计数器的目标受众。

可能的值包括:

含义
PERF_DETAIL_NOVICE
可以将计数器显示给任何级别的用户。
PERF_DETAIL_ADVANCED
计数器很复杂,应仅向高级用户显示。

DefaultScale

要应用于原始性能计数器值的缩放因子。 有效值范围为 –10 到 10。 如果未应用缩放,则为零。 如果此值为零,则刻度值为 1;如果此值为 1,则小数位数值为 10;如果此值为 –1,则缩放值为 .10;等等。 性能计数器的缩放值等于性能计数器的原始值乘以 10,以 DefaultScale 成员指定的幂。

BaseCounterId

基本计数器的计数器标识符。 0xFFFFFFFF指示没有基计数器。

PerfTimeId

性能计数器的计数器标识符。 0xFFFFFFFF指示没有性能计数器。

PerfFreqId

频率计数器的计数器标识符。 0xFFFFFFFF指示没有频率计数器。

MultiId

多计数器的计数器标识符。 0xFFFFFFFF指示没有多计数器。

AggregateFunc

客户端应应用于计数器的聚合函数(如果

计数器所属的计数器集的类型为全局聚合、多个

实例聚合或全局聚合历史记录。 如果计数器集类型,则客户端指定对其执行聚合的计数器实例

是多个实例聚合;否则,客户端必须聚合值

跨计数器集的所有实例。 以下值之一必须是

指定。

含义
PERF_AGGREGATE_UNDEFINED
未定义。
PERF_AGGREGATE_TOTAL
返回的计数器实例的值的总和。
PERF_AGGREGATE_AVG
返回的计数器实例值的平均值。
PERF_AGGREGATE_MIN
返回的计数器实例值的最小值。
PERF_AGGREGATE_MAX
返回的计数器实例值的最大值。

Reserved

保留。

注解

调用的 PerfQueryCounterSetRegistrationInfo 函数的 requestCode 参数设置为 PERF_REG_COUNTERSET_STRUCT 获取包含一个或多个 PERF_COUNTER_REG_INFO 结构的 PERF_COUNTERSET_REG_INFO 块。

调用的 PerfQueryCounterSetRegistrationInfo 函数将 requestCode 参数设置为 PERF_REG_COUNTER_STRUCT 获取 PERF_COUNTER_REG_INFO 结构。

要求

   
最低受支持的客户端 Windows 10版本 1607 [仅限桌面应用]
最低受支持的服务器 Windows Server 2016 [仅限桌面应用]
标头 perflib.h

请参阅

PERF_COUNTERSET_REG_INFO

PerfQueryCounterSetRegistrationInfo