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


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

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

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

Синтаксис

PDH_FUNCTION PdhGetDefaultPerfCounterA(
  [in]      LPCSTR  szDataSource,
  [in]      LPCSTR  szMachineName,
  [in]      LPCSTR  szObjectName,
  [out]     LPSTR   szDefaultCounterName,
  [in, out] LPDWORD pcchBufferSize
);

Параметры

[in] szDataSource

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

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

[in] szMachineName

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

[in] szObjectName

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

[out] szDefaultCounterName

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

[in, out] pcchBufferSize

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

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

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

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

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

Замечания

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

Заметка

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

Требования

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

См. также

PdhGetDefaultPerfCounterH

PdhGetDefaultPerfObject