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


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

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

Синтаксис

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

Параметры

[out] CounterArray

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

[in] MaximumCount

Указывает максимальное количество элементов, которые подпрограмма может записывать в буфер, на который указывает параметр CounterArray. Размер выделенного буфера вызывающего объекта должен быть по крайней мере * максимальный размер(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 (include Ntddk.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

См. также

HARDWARE_COUNTER

KeSetHardwareCounterConfiguration