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

Анализирует элементы пути счетчика и сохраняет результаты в PDH_COUNTER_PATH_ELEMENTS структуре.

Синтаксис

PDH_FUNCTION PdhParseCounterPathA(
  [in]      LPCSTR                       szFullPathBuffer,
  [out]     PPDH_COUNTER_PATH_ELEMENTS_A pCounterPathElements,
  [in, out] LPDWORD                      pdwBufferSize,
            DWORD                        dwFlags
);

Параметры

[in] szFullPathBuffer

Строка со значением NULL, содержащая путь счетчика для анализа. Максимальная длина пути счетчика составляет PDH_MAX_COUNTER_PATH.

[out] pCounterPathElements

Буфер, выделенный вызывающим объектом, который получает структуру PDH_COUNTER_PATH_ELEMENTS . Структура содержит указатели на отдельные строковые элементы пути, на которые ссылается параметр szFullPathBuffer . Функция добавляет строки в конец структуры PDH_COUNTER_PATH_ELEMENTS . Выделенный буфер должен быть достаточно большим для структуры и строк. Установите значение NULL , если pdwBufferSize равно нулю.

[in, out] pdwBufferSize

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

dwFlags

Зарезервировано. Должен равняться нулю.

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

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

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

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

Комментарии

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

Примечание

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

Требования

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

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

PDH_COUNTER_PATH_ELEMENTS

PdhMakeCounterPath