Функция 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 и снова вызовите функцию. |
Другое | Значение не определено и не должно использоваться. |
Возвращаемое значение
Код возврата | Описание |
---|---|
|
Функция успешно сохранила все сведения о спецификациях счетчиков в буфере, указанном pCounters . Значение, на которое указывает pcbCountersActual , указывает объем информации, фактически хранящейся в буфере, в байтах. |
|
Буфер, указанный 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 |