структура PERF_OBJECT_TYPE (winperf.h)
Описывает сведения о производительности для конкретного объекта, например количество экземпляров объекта и количество счетчиков, определяемых объектом.
Синтаксис
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
Уровень детализации. Потребители используют это значение для управления сложностью отображения. Это значение является минимальным уровнем детализации всех счетчиков для заданного объекта. Этот элемент может быть одним из следующих значений.
NumCounters
Количество PERF_COUNTER_DEFINITION блоков, возвращаемых объектом .
DefaultCounter
Индекс по имени счетчика в базе данных заголовка счетчика по умолчанию, сведения о котором должны отображаться при выборе этого объекта в средстве производительности. Этот элемент может иметь значение –1, чтобы указать, что по умолчанию нет.
NumInstances
Число экземпляров объектов, для которых предоставляются счетчики. Если объект может иметь ноль или более экземпляров, но в настоящее время не имеет ни одного экземпляра, это значение должно быть равно нулю. Если объект не может иметь несколько экземпляров, это значение должно быть PERF_NO_INSTANCES.
CodePage
Этот член равен нулю, если строки экземпляра являются строками Юникода. В противном случае этот элемент является идентификатором кодовой страницы имен экземпляров. Значение кодовой страницы можно использовать при вызове MultiByteToWideChar для преобразования строки в Юникод.
PerfTime
Созданная поставщиком метка времени, используемая потребителями при вычислении значений счетчиков. Например, это может быть текущее значение счетчика производительности с высоким разрешением в подсчетах.
Поставщики должны предоставить это значение, если типы счетчиков их счетчиков содержат флаг PERF_OBJECT_TIMER . В противном случае потребители используют значение PerfTimeиз PERF_DATA_BLOCK.
PerfFreq
Значение частоты, созданное поставщиком, которое потребители используют при вычислении значений счетчиков. Например, это может быть текущая частота счетчика производительности с высоким разрешением в секунду.
Поставщики должны предоставить это значение, если типы счетчиков их счетчиков содержат флаг PERF_OBJECT_TIMER . В противном случае потребители используют значение PerfFreq из PERF_DATA_BLOCK.
Комментарии
Поставщики используют эту структуру для предоставления данных о производительности для объектов, которые они поддерживают. Потребители используют эту структуру для использования данных о производительности для объектов, которые они запрашивали.
За этой структурой следует список PERF_COUNTER_DEFINITION структур, по одной для каждого счетчика, определенного для объекта производительности. Дополнительные сведения о макете блока данных о производительности см. в разделе Формат данных производительности.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Верхняя часть | winperf.h (включая Windows.h) |