Функция PdhEnumObjectsA (pdh.h)
Возвращает список объектов, доступных на указанном компьютере или в указанном файле журнала.
Чтобы использовать дескрипторы для источников данных, используйте функцию PdhEnumObjectsH .
Синтаксис
PDH_FUNCTION PdhEnumObjectsA(
[in] LPCSTR szDataSource,
[in] LPCSTR szMachineName,
[out] PZZSTR mszObjectList,
[in, out] LPDWORD pcchBufferSize,
[in] DWORD dwDetailLevel,
[in] BOOL bRefresh
);
Параметры
[in] szDataSource
Строка, завершающаяся значением NULL, указывающая имя файла журнала, используемого для перечисления объектов производительности. Если значение РАВНО NULL, функция использует компьютер, указанный в
параметр szMachineName для перечисления имен.
[in] szMachineName
Строка, завершающаяся значением NULL, которая указывает имя компьютера, используемого для перечисления объектов производительности.
Включите в имя компьютера символы косой черты, например \computername.
Если параметр szDataSource имеет значение NULL, можно задать для параметра szMachineNameзначение NULL , чтобы указать локальный компьютер.
[out] mszObjectList
Выделенный вызывающим объектом буфер, который получает список имен объектов. Каждое имя объекта в этом списке заканчивается символом NULL . Список завершается двумя символами конца null. Установите значение NULL , если параметр pcchBufferLength равен нулю.
[in, out] pcchBufferSize
Размер буфера mszObjectList в TCHAR. Если входные данные равны нулю, функция возвращает PDH_MORE_DATA и задает для этого параметра требуемый размер буфера. Если размер буфера превышает требуемый размер, функция задает для этого параметра фактический размер использованного буфера. Если указанный размер входных данных больше нуля, но меньше требуемого размера, не следует полагаться на возвращаемый размер для перераспределения буфера.
Windows XP: Добавьте его к требуемому размеру буфера.
[in] dwDetailLevel
Уровень детализации возвращаемых элементов производительности. Будут возвращены все элементы, которые имеют указанный уровень детализации или меньше (уровни перечислены в порядке увеличения). Этот параметр может принимать одно из указанных ниже значений.
[in] bRefresh
Указывает, следует ли автоматически обновлять кэшированный список объектов. Укажите одно из следующих значений.
Если вы вызываете эту функцию дважды, один раз для получения размера списка и второй раз, чтобы получить фактический список, установите для этого параметра значение TRUE в первом вызове и FALSE во втором вызове. Если оба вызова имеют значение TRUE, второй вызов также может возвращать PDH_MORE_DATA, так как данные объекта могли изменяться между вызовами.
Значение | Значение |
---|---|
|
Кэш объектов автоматически обновляется перед возвратом объектов. |
|
Не обновляйте кэш автоматически. |
Возвращаемое значение
Если функция завершается успешно, она возвращает ERROR_SUCCESS.
Если функция завершается сбоем, возвращаемое значение представляет собой код системной ошибки или код ошибки PDH. Ниже приведены возможные значения.
Код возврата | Описание |
---|---|
|
Буфер mszObjectList слишком мал для хранения списка объектов. Это возвращаемое значение ожидается, если pcchBufferLength равно нулю на входных данных. Если указанный размер входных данных больше нуля, но меньше требуемого размера, не следует полагаться на возвращаемый размер для перераспределения буфера. |
|
Указанный компьютер находится в автономном режиме или недоступен. |
|
Не удалось найти указанный объект . |
|
Недействительный параметр. Например, в некоторых выпусках эта ошибка может возникнуть, если указанный размер входных данных больше нуля, но меньше требуемого размера. |
Комментарии
Эту функцию следует вызывать дважды: первый раз, чтобы получить необходимый размер буфера (задайте для mszObjectListзначение NULL , а pcchBufferLength — 0), а второй раз — для получения данных.
Примечание
Заголовок pdh.h определяет PdhEnumObjects в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | pdh.h |
Библиотека | Pdh.lib |
DLL | Pdh.dll |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по