winperf.h) (PERF_OBJECT_TYPE 结构

描述特定于对象的性能信息,例如,对象的实例数和对象定义的计数器数。

语法

typedef struct _PERF_OBJECT_TYPE {
  DWORD         TotalByteLength;
  DWORD         DefinitionLength;
  DWORD         HeaderLength;
  DWORD         ObjectNameTitleIndex;
#if ...
  DWORD         ObjectNameTitle;
#else
  LPWSTR        ObjectNameTitle;
#endif
  DWORD         ObjectHelpTitleIndex;
#if ...
  DWORD         ObjectHelpTitle;
#else
  LPWSTR        ObjectHelpTitle;
#endif
  DWORD         DetailLevel;
  DWORD         NumCounters;
  LONG          DefaultCounter;
  LONG          NumInstances;
  DWORD         CodePage;
  LARGE_INTEGER PerfTime;
  LARGE_INTEGER PerfFreq;
} PERF_OBJECT_TYPE, *PPERF_OBJECT_TYPE;

成员

TotalByteLength

对象特定数据的大小(以字节为单位)。 此成员是从此结构的开头到下一 个PERF_OBJECT_TYPE 结构的偏移量(如果存在)。

DefinitionLength

此结构的大小加上所有 的大小
PERF_COUNTER_DEFINITION 结构。

如果对象是多实例对象 (NumInstances 成员不是零) ,则此成员是从此结构的开头到第一 个PERF_INSTANCE_DEFINITION 结构的偏移量。 否则,此值是 PERF_COUNTER_BLOCK的偏移量。

HeaderLength

此结构的大小(以字节为单位)。 此成员是从此结构的开头到第一 个PERF_COUNTER_DEFINITION 结构的偏移量。

ObjectNameTitleIndex

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

提供程序在其初始化文件中指定索引值。 有关详细信息,请参阅 向注册表添加计数器名称和说明

ObjectNameTitle

保留。

ObjectHelpTitleIndex

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

提供程序在其初始化文件中指定索引值。 有关详细信息,请参阅 向注册表添加计数器名称和说明

ObjectHelpTitle

保留。

DetailLevel

详细级别。 使用者使用此值来控制显示复杂性。 此值是给定对象的所有计数器的最小详细级别。 此成员可以是以下值之一。

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

NumCounters

对象返回 的PERF_COUNTER_DEFINITION 块数。

DefaultCounter

默认计数器标题数据库中计数器名称的索引,当在性能工具中选择此对象时,将显示该计数器的信息。 此成员可能为 –1,表示没有默认值。

NumInstances

要为其提供计数器的对象实例数。 如果对象可以有零个或多个实例,但目前没有实例,则此值应为零。 如果对象不能有多个实例,则应PERF_NO_INSTANCES此值。

CodePage

如果实例字符串是 Unicode 字符串,则此成员为零。 否则,此成员是实例名称的代码页标识符。 调用 MultiByteToWideChar 时,可以使用代码页值将字符串转换为 Unicode。

PerfTime

提供程序生成的时间戳,使用者在计算计数器值时使用该时间戳。 例如,这可能是高分辨率性能计数器的当前值(以计数为单位)。

如果其计数器的计数器类型包含 PERF_OBJECT_TIMER 标志,提供程序需要提供此值。 否则,使用者使用来自 PERF_DATA_BLOCKPerfTime 值。

PerfFreq

提供程序生成的频率值,使用者在计算计数器值时使用该值。 例如,这可能是高分辨率性能计数器的当前频率(以每秒计数为单位)。

如果其计数器的计数器类型包含 PERF_OBJECT_TIMER 标志,提供程序需要提供此值。 否则,使用者使用来自 PERF_DATA_BLOCKPerfFreq 值。

注解

提供程序使用此结构为它们支持的对象提供性能数据。 使用者使用此结构来使用他们查询的对象的性能数据。

此结构后跟 一个PERF_COUNTER_DEFINITION 结构列表,每个针对为性能对象定义的计数器各一个。 有关性能数据块布局的详细信息,请参阅 性能数据格式

要求

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

另请参阅

PERF_COUNTER_DEFINITION

PERF_DATA_BLOCK

性能数据格式