Функция PdhExpandWildCardPathHA (pdh.h)
Проверяет указанный компьютер или файл журнала и возвращает пути счетчиков, соответствующие указанному пути счетчика, содержа содержа содержащие подстановочные знаки.
Эта функция идентична функции PdhExpandWildCardPath , за исключением того, что она поддерживает использование дескрипторов для источников данных.
Синтаксис
PDH_FUNCTION PdhExpandWildCardPathHA(
[in] PDH_HLOG hDataSource,
[in] LPCSTR szWildCardPath,
[out] PZZSTR mszExpandedPathList,
[in, out] LPDWORD pcchPathListLength,
[in] DWORD dwFlags
);
Параметры
[in] hDataSource
Обработка источника данных, возвращаемого функцией PdhBindInputDataSource .
[in] szWildCardPath
Строка, завершающаяся значением NULL, указывающая путь счетчика для развертывания. Максимальная длина пути счетчика составляет PDH_MAX_COUNTER_PATH.
Если hDataSource является источником данных в режиме реального времени, функция выполняет поиск совпадений на компьютере, указанном в пути. Если путь не указывает компьютер, функция выполняет поиск на локальном компьютере.
[out] mszExpandedPathList
Буфер, выделенный вызывающим объектом, который получает список путей счетчиков со значением NULL, которые соответствуют спецификации подстановочных знаков в szWildCardPath. Список завершается двумя символами NULL . Установите значение NULL , если pcchPathListLength равно нулю.
[in, out] pcchPathListLength
Размер буфера mszExpandedPathList в TCHAR. Если значение равно нулю для входных данных и объект существует, функция возвращает PDH_MORE_DATA и устанавливает для этого параметра требуемый размер буфера. Если буфер больше требуемого размера, функция задает для этого параметра фактический размер используемого буфера. Если указанный размер входных данных больше нуля, но меньше требуемого размера, не следует полагаться на возвращаемый размер для перераспределения буфера.
[in] dwFlags
Флаги, указывающие, какие подстановочные знаки не следует разворачивать. Можно указать один или несколько флагов.
Возвращаемое значение
Если функция выполняется успешно, она возвращает ERROR_SUCCESS.
Если функция завершается ошибкой, возвращаемым значением является системный код ошибки или код ошибки PDH.
Код возврата | Описание |
---|---|
|
Буфер mszExpandedPathList недостаточно велик, чтобы содержать список путей. Это возвращаемое значение ожидается, если pcchPathListLength равно нулю на входных данных. Если указанный размер входных данных больше нуля, но меньше требуемого размера, не следует полагаться на возвращаемый размер для перераспределения буфера. |
|
Недействительный параметр. Например, в некоторых выпусках эта ошибка может возникнуть, если указанный размер входных данных больше нуля, но меньше требуемого размера. |
|
Не удалось выделить память для поддержки этой функции. |
|
Не удается найти указанный объект на компьютере или в файле журнала. |
Комментарии
Эту функцию следует вызывать дважды: первый раз, чтобы получить требуемый размер буфера (задайте для mszExpandedPathListзначение NULL , а pcchPathListLength — 0), а второй раз — для получения данных.
PdhExpandWildCardPathH отличается от PdhExpandCounterPath следующим образом:
- Позволяет управлять развернутыми подстановочными знаками.
- Содержимое файла журнала можно использовать в качестве источника имен счетчиков.
\computer\object(parent/instance#index)\counter
Родительские компоненты, компоненты экземпляра, индекса и счетчика пути счетчика могут содержать допустимое имя или подстановочный знак. Компоненты компьютера, родительского компонента, экземпляра и индекса не являются обязательными для всех счетчиков.
Ниже приведен список возможных форматов.
- \\computer\object(parent/instance#index)\counter
- \\computer\object(parent/instance)\counter
- \\computer\object(instance#index)\counter
- \\computer\object(instance)\counter
- \\computer\object\counter
- \object(parent/instance#index)\counter
- \object(parent/instance)\counter
- \object(instance#index)\counter
- \object(instance)\counter
- \object\counter
Если в родительском имени указан подстановочный знак, будут возвращены все экземпляры указанного объекта, соответствующие полям экземпляра и счетчика. Например, \object(*/instance)\counter.
Если в имени экземпляра указан подстановочный знак, все экземпляры указанного объекта и родительского объекта будут возвращены, если все имена экземпляров, соответствующие указанному индексу, соответствуют подстановочным знакам. Например, \object(parent/*)\counter.
Если в имени счетчика указан подстановочный знак, возвращаются все счетчики указанного объекта.
Поддерживаются совпадения со строкой пути частичного счетчика (например, "pro*").
До Windows Vista: Частичные совпадения с подстановочными знаками не поддерживаются.
Примечание
Заголовок pdh.h определяет PdhExpandWildCardPathH как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | pdh.h |
Библиотека | Pdh.lib |
DLL | Pdh.dll |
См. также раздел
Функция PdhBindInputDataSourceAPdhEnumObjectItemsHA функцияPdhEnumObjectsHA функцияPdhExpandCounterPathA