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

標題資料庫中父物件名稱的索引。 例如,如果對像是線程,父對像是進程,或者對像是邏輯磁碟驅動器,則父系是實體磁碟驅動器。

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