Функция PdhAddEnglishCounterA (pdh.h)
Добавляет в запрос указанный не зависящий от языка счетчик.
Синтаксис
PDH_FUNCTION PdhAddEnglishCounterA(
[in] PDH_HQUERY hQuery,
[in] LPCSTR szFullCounterPath,
[in] DWORD_PTR dwUserData,
[out] PDH_HCOUNTER *phCounter
);
Параметры
[in] hQuery
Выполните обработку запроса, к которому требуется добавить счетчик. Этот дескриптор возвращается функцией PdhOpenQuery .
[in] szFullCounterPath
Строка, завершающаяся значением NULL, содержащая путь счетчика. Дополнительные сведения о формате пути счетчика см. в разделе Указание пути счетчика. Максимальная длина пути счетчика — PDH_MAX_COUNTER_PATH.
[in] dwUserData
Определяемое пользователем значение. Это значение становится частью сведений счетчика. Чтобы получить это значение позже, вызовите функцию PdhGetCounterInfo и получите доступ к элементу dwQueryUserDataструктуры PDH_COUNTER_INFO .
[out] phCounter
Дескриптор счетчика, добавленного в запрос. Может потребоваться ссылаться на этот дескриптор в последующих вызовах.
Возвращаемое значение
Возвращает ERROR_SUCCESS, если функция выполнена успешно.
Если функция завершается сбоем, возвращаемое значение представляет собой код системной ошибки или код ошибки PDH. Ниже приведены возможные значения.
Код возврата | Описание |
---|---|
|
Не удалось проанализировать или интерпретировать путь счетчика. |
|
Не удается найти указанный счетчик на компьютере или в файле журнала. |
|
Путь счетчика пуст. |
|
Путь не содержал имя компьютера, и функции не удалось получить имя локального компьютера. |
|
Не удалось найти указанный объект на компьютере или в файле журнала. |
|
Не удалось определить функцию вычисления, используемую для этого счетчика. |
|
Один или несколько аргументов являются недопустимыми. |
|
Недопустимый дескриптор запроса. |
|
Не удалось выделить память, необходимую для выполнения функции. |
Комментарии
Эта функция предоставляет не зависящий от языка способ добавления счетчиков производительности в запрос. В отличие от этого, путь счетчика, указанный в функции PdhAddCounter , должен быть локализован.
Если указан экземпляр счетчика, который еще не существует, PdhAddEnglishCounter не сообщает об ошибке. Вместо этого он возвращает ERROR_SUCCESS. Причина такого поведения заключается в том, что неизвестно, указан ли несуществующий экземпляр счетчика или он будет существовать, но еще не создан.
Чтобы удалить счетчик из запроса, используйте функцию PdhRemoveCounter .
- Создание запроса
- Используйте PdhAddEnglishCounter со строкой, содержащей подстановочные знаки
- Используйте PdhGetCounterInfo в дескрипторе счетчика, возвращаемом PdhAddEnglishCounter , чтобы получить локализованный полный путь (szFullPath.) Эта строка по-прежнему содержит подстановочные знаки, но части, не являющиеся подстановочными знаками, теперь локализованы.
- Используйте PdhExpandWildCardPath , чтобы развернуть подстановочные знаки.
- Использование PdhAddCounter для каждого из результирующего пути
Примечание
Заголовок pdh.h определяет PdhAddEnglishCounter в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | pdh.h |
Библиотека | Pdh.lib |
DLL | Pdh.dll |