Функция PerfEnumerateCounterSetInstances (perflib.h)
Возвращает имена и идентификаторы активных экземпляров счетчика, заданных в
указанная система.
Синтаксис
ULONG PerfEnumerateCounterSetInstances(
[in, optional] LPCWSTR szMachine,
[in] LPCGUID pCounterSetId,
[out, optional] PPERF_INSTANCE_HEADER pInstances,
DWORD cbInstances,
[out] LPDWORD pcbInstancesActual
);
Параметры
[in, optional] szMachine
Имя компьютера, для которого необходимо получить сведения об активных экземплярах набора счетчиков, заданных параметром pCounterSet . Если значение РАВНО NULL, функция получает сведения об активных экземплярах указанного набора счетчиков для локального компьютера.
[in] pCounterSetId
Идентификатор набора счетчиков, для которого требуется получить сведения об активных экземплярах.
[out, optional] pInstances
Указатель на буфер, достаточно большой для получения объема данных, заданного параметром cbInstances . Может быть
Значение NULL, если cbInstances равно 0.
cbInstances
Размер буфера, указанного параметром pInstances , в байтах.
[out] pcbInstancesActual
Размер буфера, фактически необходимый для получения сведений об активных экземплярах. Значение зависит от значения функции.
Возвращает.
Возвращаемое значение функции | Значение pcbInstancesActual |
---|---|
ERROR_SUCCESS | Число байты сведений об активных экземплярах указанного набора счетчиков, которые функция хранит в указанном буфере pInstance. |
ERROR_NOT_ENOUGH_MEMORY | The размер буфера, необходимого для хранения сведений об активных экземплярах счетчика, установленных на указанном компьютере, в байтах. Увеличение буфера до требуемого size и снова вызовите функцию. |
Другое | Значение не определено и не должно использоваться. |
Возвращаемое значение
Код возврата | Описание |
---|---|
|
Функция успешно сохранила все сведения об активных экземплярах набора счетчиков в указанном буфере pInstance. Значение, на которое указывает pcbInstancesActual , указывает объем информации, фактически хранящейся в буфере, в байтах. |
|
Буфер, указанный pInstances , был недостаточно велик для хранения всех сведений об активных экземплярах набора счетчиков. Значение, на которое указывает pcbInstancesActual , указывает размер буфера, необходимого для хранения всей информации. Увеличение буфера до требуемого size и снова вызовите функцию. |
Для других типов сбоев возвращаемым значением является системный код ошибки.
Комментарии
Сведения об активных экземплярах указанного набора счетчиков записываются в буфер, который указывает pInstances в виде последовательности PERF_INSTANCE_HEADER блоков. Размер в байтах
последовательность блоков записывается в pcbInstancesActual. Каждый блок PERF_INSTANCE_HEADER состоит из
структуры PERF_INSTANCE_HEADER , за которой сразу же следует символ UTF-16LE, завершающийся нулевым значением.
имя экземпляра, за которым следует заполнение таким образом, чтобы размер
PERF_INSTANCE_HEADER блок кратен 8 байтам.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 10 версии 1607 [только классические приложения] |
Минимальная версия сервера | Windows Server 2016 [только классические приложения] |
Целевая платформа | Windows |
Header | perflib.h |
Библиотека | AdvAPI32.lib |
DLL | AdvAPI32.dll |