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


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

Возвращает список имен компьютеров, связанных со счетчиками в файле журнала. Имена компьютеров были указаны при добавлении счетчиков в запрос или при вызове функции PdhConnectMachine . Перечисленные компьютеры включают компьютеры, которые в настоящее время подключены и подключены к сети, а также компьютеры, которые находятся в автономном режиме или не возвращают данные о производительности.

Чтобы использовать дескрипторы для источников данных, используйте функцию PdhEnumMachinesH .

Синтаксис

PDH_FUNCTION PdhEnumMachinesA(
  [in]      LPCSTR  szDataSource,
  [out]     PZZSTR  mszMachineList,
  [in, out] LPDWORD pcchBufferSize
);

Параметры

[in] szDataSource

Строка, завершающаяся значением NULL, указывающая имя файла журнала. Функция перечисляет имена компьютеров, данные счетчиков которых содержатся в файле журнала. Если значение РАВНО NULL, функция перечисляет список компьютеров, которые были указаны при добавлении счетчиков в запрос в режиме реального времени или при вызове функции PdhConnectMachine .

[out] mszMachineList

Выделенный вызывающим объектом буфер для получения списка строк, завершаемых значением NULL, которые содержат имена компьютеров. Список завершается двумя символами конца null. Установите значение NULL , если pcchBufferLength равно нулю.

[in, out] pcchBufferSize

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

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

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

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

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

Комментарии

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

Примечание

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

Требования

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

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

PdhConnectMachine

PdhEnumMachinesH