Функция KeQueryMaximumProcessorCountEx (ntddk.h)
Подпрограмма KeQueryMaximumProcessorCountEx возвращает максимальное количество логических процессоров в указанной группе в многопроцессорной системе.
Синтаксис
ULONG KeQueryMaximumProcessorCountEx(
[in] USHORT GroupNumber
);
Параметры
[in] GroupNumber
Задает номер группы. Если многопроцессорная система содержит n групп, группы нумеруются от 0 до n-1. Чтобы получить максимальное количество процессоров в системе, задайте для этого параметра значение ALL_PROCESSOR_GROUPS, которое определяется в файлах заголовков Winnt.h и Ntdef.h.
Возвращаемое значение
KeQueryMaximumProcessorCountEx возвращает максимальное число логических процессоров в указанной группе или системе, на что указывает значение параметра GroupNumber .
Комментарии
Значение, возвращаемое KeQueryMaximumProcessorCountEx , остается постоянным во время выполнения. Это значение зависит от конфигурации оборудования многопроцессорной системы, но оно никогда не может превышать фиксированное ограничение, установленное операционной системой Windows. Это ограничение составляет 32 логических процессора для 32-разрядных версий Windows и 64 логических процессора для 64-разрядных версий Windows.
В отличие от этого, значение, возвращаемое подпрограммой KeQueryActiveProcessorCountEx , может измениться во время выполнения, так как процессоры динамически добавляются в систему.
Связанная подпрограмма KeQueryMaximumProcessorCount возвращает максимальное число процессоров, но эта подпрограмма, в отличие от KeQueryMaximumProcessorCountEx, не принимает число группы в качестве входного параметра. В Windows 7 и более поздних версиях операционной системы Windows KeQueryMaximumProcessorCount возвращает максимальное число логических процессоров в группе 0, что совместимо с поведением этой процедуры в более ранних версиях Windows, не поддерживающих группы. Это гарантирует, что существующие драйверы, вызывающие KeQueryMaximumProcessorCount и не использующие функции, ориентированные на группу, будут правильно работать в многопроцессорных системах с двумя или более группами. Однако драйверы, использующие любые функции, ориентированные на группу в Windows 7 и более поздних версиях операционной системы Windows, должны вызывать KeQueryMaximumProcessorCountEx вместо KeQueryMaximumProcessorCount.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows 7 и более поздних версиях Windows. |
Целевая платформа | Универсальное |
Верхняя часть | ntddk.h (включая Wdm.h, Ntddk.h, Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Любой уровень |