Функция 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 | Любой уровень |