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


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

Собирает текущее значение необработанных данных для всех счетчиков в указанном запросе и обновляет код состояния каждого счетчика.

Синтаксис

PDH_FUNCTION PdhCollectQueryData(
  [in, out] PDH_HQUERY hQuery
);

Параметры

[in, out] hQuery

Дескриптор запроса, для которого требуется собрать данные. Функция PdhOpenQuery возвращает этот дескриптор.

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

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

Ниже приведены возможные значения.

Код возврата Описание
PDH_INVALID_HANDLE
Недопустимый дескриптор запроса.
PDH_NO_DATA
В настоящее время запрос не содержит счетчиков. Запрос может не содержать данные, так как пользователь не выполняется с маркером с повышенными привилегиями (см. раздел Поддержка ограниченного доступа пользователей).

Комментарии

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

Если вы хотите получить текущее необработанное значение счетчика, вызовите функцию PdhGetRawCounterValue . Если вы хотите вычислить отображаемое значение для значения счетчика, вызовите функцию PdhGetFormattedCounterValue . Если путь счетчика содержит подстановочный знак для имени экземпляра, вместо этого вызовите функции PdhGetRawCounterArray и PdhGetFormattedCounterArray соответственно.

Если PdhCollectQueryData вызывается для данных только из одного экземпляра счетчика, а экземпляр счетчика не существует, функция возвращает PDH_NO_DATA. Однако при запросе данных из нескольких счетчиков PdhCollectQueryData может возвращать ERROR_SUCCESS даже если один из экземпляров счетчика еще не существует. Это связано с тем, что неизвестно, существует ли указанный экземпляр счетчика или он будет существовать, но еще не создан. В этом случае вызовите PdhGetRawCounterValue или PdhGetFormattedCounterValue для каждого интересующего экземпляра счетчика, чтобы определить, существуют ли они.

Ниже показан синтаксис при вызове этой функции из Visual Basic.

PdhCollectQueryData(
  ByVal QueryHandle as Long  
)
as Long

Примеры

Пример см. в разделе Просмотр счетчиков производительности или Чтение данных производительности из файла журнала.

Требования

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

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

PdhGetFormattedCounterValue

PdhGetRawCounterValue