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


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

Анализирует элементы строки экземпляра.

Синтаксис

PDH_FUNCTION PdhParseInstanceNameA(
  [in]      LPCSTR  szInstanceString,
  [out]     LPSTR   szInstanceName,
  [in, out] LPDWORD pcchInstanceNameLength,
  [out]     LPSTR   szParentName,
  [in, out] LPDWORD pcchParentNameLength,
  [out]     LPDWORD lpIndex
);

Параметры

[in] szInstanceString

Строка, заканчивающаяся null, которая указывает строку экземпляра для анализа отдельных компонентов. Эта строка может содержать следующие форматы и длину менее MAX_PATH символов:

  • instance
  • instance#index
  • родительский элемент или экземпляр
  • parent/instance#index

[out] szInstanceName

Буфер, выделенный вызывающим объектом, который получает имя экземпляра, завершающееся null. Установите значение NULL , если pcchInstanceNameLength равно нулю.

[in, out] pcchInstanceNameLength

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

[out] szParentName

Буфер, выделенный вызывающим объектом, который получает имя родительского экземпляра, завершающееся null, если оно указано. Установите значение NULL , если pcchParentNameLength равно нулю.

[in, out] pcchParentNameLength

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

[out] lpIndex

Значение индекса экземпляра. Если в строке отсутствует запись индекса, это значение равно нулю. Этот параметр может принимать значение NULL.

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

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

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

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

Комментарии

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

Примечание

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

Требования

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

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

PdhMakeCounterPath