Функция KeQueryHardwareCounterConfiguration (ntddk.h)

Подпрограмма KeQueryHardwareCounterConfiguration запрашивает у операционной системы список аппаратных счетчиков, используемых для профилирования потоков.

Синтаксис

NTSTATUS KeQueryHardwareCounterConfiguration(
  [out] PHARDWARE_COUNTER CounterArray,
  [in]  ULONG             MaximumCount,
  [out] PULONG            Count
);

Параметры

[out] CounterArray

Указатель на буфер, выделенный вызывающим объектом, в который подпрограмма записывает массив элементов типа HARDWARE_COUNTER. Каждый элемент массива — это структура, содержащая сведения об аппаратном счетчике. Массив содержит по одному элементу для каждого аппаратного счетчика, назначенного профилированию потоков. Если подпрограмма завершается сбоем, она ничего не записывает в этот буфер.

[in] MaximumCount

Указывает максимальное количество элементов, которые подпрограмма может записывать в буфер, на который указывает параметр CounterArray . Размер буфера, выделенного вызывающим объектом, должен быть не менее байтов MaximumCountof * (HARDWARE_COUNTER).

[out] Count

Указатель на расположение, в которое подпрограмма записывает количество элементов массива, записанных в буфер, на который указывает параметр CounterArray . Если длина буфера, указанная параметром MaximumCount , недостаточно велика для хранения всего массива, подпрограмма записывает необходимую длину в *Count и возвращает STATUS_BUFFER_TOO_SMALL.

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

KeQueryHardwareCounterConfiguration возвращает STATUS_SUCCESS, если вызов выполнен успешно. Возможные возвращаемые значения ошибок:

Код возврата Описание
STATUS_BUFFER_TOO_SMALL Параметр MaximumCount указывает длину буфера, который недостаточно велик для хранения сведений о конфигурации счетчика.
STATUS_NOT_IMPLEMENTED Эта подпрограмма не реализована для архитектуры процессора, на котором выполняется вызывающий объект.

Комментарии

В Windows 7 эта подпрограмма реализована только для архитектур x86, x64 и Itanium. Если вызывающий объект работает на архитектуре процессора, которая не поддерживается, подпрограмма возвращает STATUS_NOT_IMPLEMENTED.

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

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows 7 и более поздних версиях Windows.
Целевая платформа Универсальное
Верхняя часть ntddk.h (включая Ntddk.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

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

HARDWARE_COUNTER

KeSetHardwareCounterConfiguration