winperf.h) (PERF_INSTANCE_DEFINITION 结构

描述性能对象的实例。

语法

typedef struct _PERF_INSTANCE_DEFINITION {
  DWORD ByteLength;
  DWORD ParentObjectTitleIndex;
  DWORD ParentObjectInstance;
  LONG  UniqueID;
  DWORD NameOffset;
  DWORD NameLength;
} PERF_INSTANCE_DEFINITION, *PPERF_INSTANCE_DEFINITION;

成员

ByteLength

此结构的大小,包括后面的实例名称(以字节为单位)。 此值必须是 8 字节的倍数。

ParentObjectTitleIndex

title 数据库中父对象名称的索引。 例如,如果对象是线程,父对象是进程,或者如果对象是逻辑驱动器,则父级是物理驱动器。

ParentObjectInstance

实例在与此实例关联的父对象中的位置。 位置从零开始。

UniqueID

可用于标识实例的唯一标识符,而不是使用名称来标识实例。 如果不使用唯一标识符来区分计数器实例,请将此成员设置为 PERF_NO_UNIQUE_ID。

NameOffset

从此结构的开头偏移到此实例的 Unicode 名称。

NameLength

实例名称的长度(包括 null 终止符)(以字节为单位)。 如果实例没有名称,则此成员为零。

请勿在长度中包含添加到实例名称的任何填充,以确保 ByteLength 与 8 字节边界对齐。

注解

如果 PERF_OBJECT_TYPENumInstances 成员大于零,则 对象包含 实例。 使用 PERF_OBJECT_TYPEDefinitionLength 成员查找对象的第一个实例。 有关详细信息,请参阅 性能数据格式

使用者应使用父实例名称(如果指定)来创建用于显示的完整实例名称。 约定是将名称形成为父/子。

提供程序应使用唯一的实例名称。 如果不这样做,则使用者很难计算和显示性能值,因为他们无法判断当前实例是否引用了以前查询过的同一实例 (实例可以) 。

提供程序必须为实例名称分配足够的空间,以确保 ByteLength 与 8 字节边界对齐。

要求

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

另请参阅

PERF_OBJECT_TYPE