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


Функция PdhGetCounterInfoA (pdh.h)

Извлекает сведения о счетчике, такие как размер данных, тип счетчика, путь и значения данных, предоставленные пользователем.

Синтаксис

PDH_FUNCTION PdhGetCounterInfoA(
  [in]      PDH_HCOUNTER        hCounter,
  [in]      BOOLEAN             bRetrieveExplainText,
  [in, out] LPDWORD             pdwBufferSize,
  [out]     PPDH_COUNTER_INFO_A lpBuffer
);

Параметры

[in] hCounter

Дескриптор счетчика, из которого требуется получить сведения. Функция PdhAddCounter возвращает этот дескриптор.

[in] bRetrieveExplainText

Определяет, извлекается ли текст объяснения. Если для этого параметра задано значение TRUE, извлекается текст объяснения для счетчика. Если задать для этого параметра значение FALSE, поле в возвращаемом буфере будет иметь значение NULL.

[in, out] pdwBufferSize

Размер буфера lpBuffer в байтах. Если значение равно нулю при входе, функция возвращает PDH_MORE_DATA и задает для этого параметра требуемый размер буфера. Если буфер больше требуемого размера, функция задает для этого параметра фактический размер используемого буфера. Если указанный размер входных данных больше нуля, но меньше требуемого размера, не следует полагаться на возвращаемый размер для перераспределения буфера.

[out] lpBuffer

Буфер, выделенный вызывающим объектом, который получает структуру PDH_COUNTER_INFO . Структура имеет переменную длину, так как строковые данные добавляются в конец части структуры фиксированного формата. Это делается для того, чтобы все данные возвращались в одном буфере, выделенном вызывающим объектом. Установите значение NULL , если pdwBufferSize равно нулю.

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

Если функция выполняется успешно, она возвращает ERROR_SUCCESS.

Если функция завершается ошибкой, возвращаемым значением является системный код ошибки или код ошибки PDH. Ниже приведены возможные значения.

Код возврата Описание
PDH_INVALID_ARGUMENT
Параметр недопустим или неправильно отформатирован. Например, в некоторых выпусках эта ошибка может возникнуть, если указанный размер входных данных больше нуля, но меньше требуемого размера.
PDH_INVALID_HANDLE
Недопустимый дескриптор счетчика.
PDH_MORE_DATA
Буфер lpBuffer слишком мал для хранения сведений счетчика. Это возвращаемое значение ожидается, если pdwBufferSize равно нулю на входе. Если указанный размер входных данных больше нуля, но меньше требуемого размера, не следует полагаться на возвращаемый размер для перераспределения буфера.

Комментарии

Эту функцию следует вызвать дважды: первый раз, чтобы получить требуемый размер буфера (задайте для lpBufferзначение NULL , а pdwBufferSize — 0), а второй раз — для получения данных.

Примечание

Заголовок pdh.h определяет PdhGetCounterInfo в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header pdh.h
Библиотека Pdh.lib
DLL Pdh.dll

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

PDH_COUNTER_INFO