Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
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 |