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


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

Создает полный путь счетчика с помощью элементов, указанных в структуре PDH_COUNTER_PATH_ELEMENTS.

Синтаксис

PDH_FUNCTION PdhMakeCounterPathA(
  [in]      PPDH_COUNTER_PATH_ELEMENTS_A pCounterPathElements,
  [out]     LPSTR                        szFullPathBuffer,
  [in, out] LPDWORD                      pcchBufferSize,
  [in]      DWORD                        dwFlags
);

Параметры

[in] pCounterPathElements

Структура PDH_COUNTER_PATH_ELEMENTS, содержащая элементы, используемые для создания пути. Требуются только элементы szObject Name szCounterName и szCounterName, а другие — необязательными.

Если элемент имени экземпляра NULL, путь не будет содержать ссылку на экземпляр, а элементы szParentInstance и dwInstanceIndex будут игнорироваться.

[out] szFullPathBuffer

Выделенный вызывающим буфером, который получает null-завершенный путь счетчика. Максимальная длина пути счетчика составляет PDH_MAX_COUNTER_PATH. Установите значение NULL, если pcchBufferSize равно нулю.

[in, out] pcchBufferSize

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

[in] dwFlags

Формат значений входных и выходных счетчиков. Можно указать одно из следующих значений.

Ценность Значение
PDH_PATH_WBEM_RESULT
Преобразует путь PDH в формат имени класса И свойства WMI.
PDH_PATH_WBEM_INPUT
Преобразует имя класса WMI и свойства в путь PDH.
0
Возвращает путь в формате PDH, например \\computer\object(parent/instance#index)\counter.

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

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

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

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

Замечания

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

Заметка

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
целевая платформа Виндоус
заголовка pdh.h
библиотеки Pdh.lib
DLL Pdh.dll

См. также

PDH_COUNTER_PATH_ELEMENTS

PdhParseCounterPath