PERF_COUNTER_DEFINITION 结构 (winperf.h)

描述性能计数器。

语法

typedef struct _PERF_COUNTER_DEFINITION {
  DWORD  ByteLength;
  DWORD  CounterNameTitleIndex;
#if ...
  DWORD  CounterNameTitle;
#else
  LPWSTR CounterNameTitle;
#endif
  DWORD  CounterHelpTitleIndex;
#if ...
  DWORD  CounterHelpTitle;
#else
  LPWSTR CounterHelpTitle;
#endif
  LONG   DefaultScale;
  DWORD  DetailLevel;
  DWORD  CounterType;
  DWORD  CounterSize;
  DWORD  CounterOffset;
} PERF_COUNTER_DEFINITION, *PPERF_COUNTER_DEFINITION;

成员

ByteLength

此结构的大小(以字节为单位)。

CounterNameTitleIndex

标题数据库中计数器名称的索引。 有关使用索引检索计数器名称的详细信息,请参阅 检索计数器名称和帮助文本

若要设置此值,提供程序会将在其符号文件中定义的计数器偏移值添加到 第一个计数器 注册表值。 有关详细信息,请参阅 将计数器名称和说明添加到注册表实现 OpenPerformanceData 函数

如果计数器是基计数器,则此值应为零, (CounterType 包含PERF_COUNTER_BASE标志) 。

CounterNameTitle

保留。

CounterHelpTitleIndex

标题数据库中计数器帮助文本的索引。 有关使用索引检索计数器的帮助文本的详细信息,请参阅 检索计数器名称和帮助文本

若要设置此值,提供程序会将在其符号文件中定义的计数器的偏移值添加到 First Help 注册表值。 有关详细信息,请参阅 将计数器名称和说明添加到注册表实现 OpenPerformanceData 函数

如果计数器是基计数器,则此值应为零, (CounterType 包含PERF_COUNTER_BASE标志) 。

CounterHelpTitle

保留。

DefaultScale

绘制计数器值时要使用的比例系数。 有效值范围为 -7 到 7, (值对应于 0.0000001 - 10000000) 。 如果此值为零,则刻度值为 1;如果此值为 1,则缩放值为 10;如果此值为 –1,则缩放值为 .10;等等。

DetailLevel

计数器的详细信息级别。 使用者使用此值来控制显示复杂性。 此成员可以是以下值之一。

详细信息级别 含义
PERF_DETAIL_NOVICE
为所有用户提供计数器数据。
PERF_DETAIL_ADVANCED
计数器数据是为高级用户提供的。
PERF_DETAIL_EXPERT
计数器数据是为专家用户提供的。
PERF_DETAIL_WIZARD
计数器数据是为系统设计人员提供的。

CounterType

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

CounterSize

计数器大小(以字节为单位)。

目前,只有 (4 个字节的 DWORD) 和 ULONGLONG (8 个字节) 用于提供计数器值。

CounterOffset

PERF_COUNTER_BLOCK 结构的开头到此计数器的第一个字节的偏移量。 PERF_COUNTER_BLOCK 结构在 PERF_OBJECT_TYPE 块中的位置取决于对象是否包含实例。 有关详细信息,请参阅 性能数据格式

请注意,多个计数器可以使用相同的原始数据,并指向 PERF_COUNTER_BLOCK 块中的相同偏移量。

注解

PERF_OBJECT_TYPE 结构包含一个或多个计数器。 此结构定义每个计数器,并为其值提供偏移量。 这些结构遵循内存中的 PERF_OBJECT_TYPE 结构。 有关详细信息,请参阅 性能数据格式

每次查询其计数器时,提供程序应按相同的顺序提供其计数器。 如果计数器在其计算中使用基计数器 (计数器类型包含 PERF_COUNTER_FRACTION 标志) ,则基本计数器必须在计数器列表中跟随此计数器。 如果计数器类型包含 PERF_MULTI_COUNTER 标志,则第二个计数器值必须遵循 PERF_COUNTER_BLOCK 块中此计数器的值。

要求

   
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
标头 winperf.h (包括 Windows.h)

另请参阅

PERF_COUNTER_BLOCK

PERF_OBJECT_TYPE