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


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

Извлекает имя объекта по умолчанию. Это имя можно использовать для задания начального выбора объекта в диалоговом окне счетчика обзора.

Эта функция идентична функции PdhGetDefaultPerfObject, за исключением того, что она поддерживает использование дескрипторов в источниках данных.

Синтаксис

PDH_FUNCTION PdhGetDefaultPerfObjectHA(
  [in]      PDH_HLOG hDataSource,
  [in]      LPCSTR   szMachineName,
  [out]     LPSTR    szDefaultObjectName,
  [in, out] LPDWORD  pcchBufferSize
);

Параметры

[in] hDataSource

Должно быть значение NULL.

Если указать дескриптор файла журнала, szDefaultObjectName будет строкой null.

[in] szMachineName

строке null-terminated, указывающей имя компьютера, используемого для проверки имени объекта. Если null, локальный компьютер используется для проверки имени.

[out] szDefaultObjectName

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

Обратите внимание, что PDH всегда возвращает обработчик для имени объекта по умолчанию.

[in, out] pcchBufferSize

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

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

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

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

Возвращаемый код Описание
PDH_MORE_DATA
Буфер szDefaultObjectName слишком мал, чтобы содержать имя объекта. Это возвращаемое значение ожидается, если pcchBufferSize равно нулю входных данных. Если указанный размер входных данных больше нуля, но меньше требуемого размера, не следует полагаться на возвращаемый размер, чтобы перераспределить буфер.
PDH_INVALID_ARGUMENT
Обязательный параметр недопустим. Например, в некоторых выпусках можно получить эту ошибку, если указанный размер входных данных больше нуля, но меньше требуемого размера.
PDH_MEMORY_ALLOCATION_FAILURE
Не удалось выделить память, чтобы завершить функцию.
PDH_CSTATUS_NO_MACHINE
Указанный компьютер находится в автономном режиме или недоступен.
PDH_CSTATUS_NO_COUNTERNAME
Имя объекта по умолчанию не может быть прочитано или найдено.

Замечания

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

Заметка

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
целевая платформа Виндоус
заголовка pdh.h
библиотеки Pdh.lib
DLL Pdh.dll

См. также

PdhBindInputDataSource

PdhBrowseCountersH

PdhGetDefaultPerfCounterH