Поделиться через


структура PERF_INSTANCE_DEFINITION (winperf.h)

Описывает экземпляр объекта производительности.

Синтаксис

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

Смещение от начала этой структуры до имени в Юникоде данного экземпляра.

NameLength

Длина имени экземпляра, включая признак конца null, в байтах. Этот элемент равен нулю, если экземпляр не имеет имени.

Не включайте в длину заполнения, добавленные к имени экземпляра, чтобы убедиться, что ByteLength выравнивается по 8-байтовой границе.

Комментарии

Объект содержит экземпляры , если элемент NumInstancesPERF_OBJECT_TYPE больше нуля. Используйте элемент DefinitionLengthPERF_OBJECT_TYPE для поиска первого экземпляра объекта . Дополнительные сведения см. в разделе Формат данных производительности.

Потребители должны использовать имя родительского экземпляра, если указано, для создания полного имени экземпляра, используемого для отображения. Соглашение заключается в том, чтобы сформировать имя как родительский/дочерний.

Поставщики должны использовать уникальные имена экземпляров. В противном случае потребителям будет сложно вычислить и отобразить значения производительности, так как они не могут определить, ссылается ли текущий экземпляр на тот же экземпляр, который был запрошен ранее (экземпляры могут приходить и уходить).

Поставщики должны выделить достаточно места для имени экземпляра, чтобы убедиться , что ByteLength соответствует 8-байтовой границе.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Верхняя часть winperf.h (включая Windows.h)

См. также раздел

PERF_OBJECT_TYPE