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


Формат данных производительности

Формат данных, получаемых функцией RegQueryValueEx , начинается со структуры заголовков фиксированной длины , PERF_DATA_BLOCK. Структура PERF_DATA_BLOCK описывает систему и данные о производительности. За структурой PERF_DATA_BLOCK следует переменное число элементов данных объекта переменной длины. Заголовок каждого элемента объекта содержит смещение следующего элемента объекта в списке. На следующей схеме показана базовая структура данных о производительности.

структура данных производительности

Существует два формата для элементов данных объекта: один поддерживает несколько экземпляров, а другой не поддерживает несколько экземпляров.

Каждый блок элемента данных объекта содержит PERF_OBJECT_TYPE структуру, которая описывает данные о производительности объекта. За структурой PERF_OBJECT_TYPE следует список PERF_COUNTER_DEFINITION структур, по одной для каждого счетчика, определенного для объекта . Для объекта с одним экземпляром за списком PERF_COUNTER_DEFINITION структур следует одна PERF_COUNTER_BLOCK структура, за которой следуют данные счетчика. Каждая структура PERF_COUNTER_DEFINITION содержит смещение от начала структуры PERF_COUNTER_BLOCK к соответствующим данным счетчика. На следующей схеме показана структура объекта производительности, который не поддерживает несколько экземпляров.

структура объекта производительности, не поддерживающая несколько экземпляров

Для типа объекта, поддерживающего несколько экземпляров, за списком PERF_COUNTER_DEFINITION структур следует список блоков сведений об экземпляре (по одному для каждого экземпляра). Каждый блок сведений об экземпляре содержит структуру PERF_INSTANCE_DEFINITION , имя экземпляра и структуру PERF_COUNTER_BLOCK . На следующей схеме показана структура объекта производительности, который поддерживает два экземпляра.

структура объекта производительности, поддерживающая два экземпляра

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