Функция PerfQueryCounterInfo (perflib.h)

Возвращает спецификации счетчика в указанном запросе.

Синтаксис

ULONG PerfQueryCounterInfo(
  [in]            HANDLE                   hQuery,
  [out, optional] PPERF_COUNTER_IDENTIFIER pCounters,
                  DWORD                    cbCounters,
  [out]           LPDWORD                  pcbCountersActual
);

Параметры

[in] hQuery

Дескриптор запроса, для которого требуется получить спецификации счетчика.

[out, optional] pCounters

Указатель на буфер, достаточно большой для хранения объема данных, указанного параметром cbCounters , в байтах. Может иметь значение NULL, если cbCounters равно 0.

cbCounters

Размер буфера pCounters в байтах.

[out] pcbCountersActual

Размер буфера, фактически необходимый для получения спецификаций счетчика. Значение зависит от значения функции.

Возвращает.

Возвращаемое значение функции Значение pcbCountersActual
ERROR_SUCCESS Число

байты сведений о спецификациях счетчиков, которые функция хранит в буфере, указанном pCounters .

ERROR_NOT_ENOUGH_MEMORY The

размер буфера, необходимого для хранения сведений о спецификациях счетчика, в байтах. Увеличение буфера до требуемого

size и снова вызовите функцию.

Другое Значение не определено и не должно использоваться.

Возвращаемое значение

Код возврата Описание
ERROR_SUCCESS
Функция успешно сохранила все сведения о спецификациях счетчиков в буфере, указанном pCounters . Значение, на которое указывает pcbCountersActual , указывает объем информации, фактически хранящейся в буфере, в байтах.
ERROR_NOT_ENOUGH_MEMORY
Буфер, указанный pCounters , не был достаточно велик для хранения всех сведений о спецификациях счетчиков. Значение, на которое указывает pcbCountersActual , указывает размер буфера, необходимого для хранения всей информации. Увеличение буфера до требуемого

size и снова вызовите функцию.

 

Для других типов сбоев возвращаемым значением является системный код ошибки.

Комментарии

Сведения о спецификациях счетчиков записываются в буфер, который указывает pCounters в виде последовательности блоков PERF_COUNTER_IDENTIFIER . Размер в байтах

последовательность блоков записывается в pcbCountersActual. Каждый блок PERF_COUNTER_IDENTIFIER состоит из

структуры PERF_COUNTER_IDENTIFIER , за которой при необходимости следует символ UTF-16LE, завершающийся нулевым значением.

имя экземпляра, за которым следует заполнение таким образом, чтобы размер

PERF_COUNTER_IDENTIFIER блок кратен 8 байтам. Размер каждого блока, включая структуру PERF_COUNTER_IDENTIFIER , имя экземпляра и заполнение, определяется элементом Sizeструктуры PERF_COUNTER_IDENTIFIER , который будет кратным 8 байтам.

Требования

Требование Значение
Минимальная версия клиента Windows 10 версии 1607 [только классические приложения]
Минимальная версия сервера Windows Server 2016 [только классические приложения]
Целевая платформа Windows
Header perflib.h
Библиотека AdvAPI32.lib
DLL AdvAPI32.dll

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

PERF_COUNTER_IDENTIFIER