Функция 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 |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по