Функция KeQueryActiveProcessorCount (wdm.h)
Подпрограмма KeQueryActiveProcessorCount возвращает количество активных процессоров.
Синтаксис
ULONG KeQueryActiveProcessorCount(
[out, optional] PKAFFINITY ActiveProcessors
);
Параметры
[out, optional] ActiveProcessors
Указатель на переменную типа KAFFINITY, в которую подпрограмма записывает битовую маску, представляющую набор текущих активных процессоров. В среде горячего добавления эта маска может изменяться во время выполнения. Этот параметр является необязательным и может быть указан как NULL , если вызывающий объект не требует маски активных процессоров.
Возвращаемое значение
KeQueryActiveProcessorCount возвращает количество активных процессоров.
Комментарии
Драйвер устройства вызывает подпрограмму KeQueryActiveProcessorCount , чтобы получить количество активных процессоров. Драйверы устройств, созданные для Windows Vista и более поздних версий операционной системы Windows, не должны использовать для этой цели переменную ядра KeNumberProcessors .
Вызывающие абоненты не могут предполагать, что подпрограмма KeQueryActiveProcessorCount сопоставляет процессоры с битами в возвращаемом значении KAFFINITY последовательно или что подпрограмма будет возвращать одну и ту же битовую маску при каждом вызове.
Вызывающие стороны также должны знать, что значение, возвращаемое KeQueryActiveProcessorCount , может изменяться во время выполнения в версиях Windows, поддерживающих функции ЦП с горячим добавлением.
При необходимости зарегистрируйтесь для уведомления об изменениях числа процессоров, вызвав подпрограмму KeRegisterProcessorChangeCallback .
Чтобы запросить только маску сходства без получения количества активных процессоров, используйте KeQueryActiveProcessors.
Windows 7 и более поздние версии Windows поддерживают группы процессоров. Драйверы, предназначенные для обработки сведений о группах процессоров, должны использовать подпрограмму KeQueryActiveProcessorCountEx , которая задает группу процессоров, а не KeQueryActiveProcessorCount, которая этого не делает. Однако реализация KeQueryActiveProcessorCount в Windows 7 и более поздних версиях Windows обеспечивает совместимость драйверов, написанных для более ранних версий Windows, которые не поддерживают группы процессоров. В этой реализации KeQueryActiveProcessorCount возвращает количество активных логических процессоров в группе 0 и записывает маску сходства в *ActiveProcessors , которая указывает набор активных логических процессоров в группе 0.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows Vista и более поздних версиях Windows. |
Целевая платформа | Универсальное |
Верхняя часть | wdm.h (включая Wdm.h, Ntddk.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Любой уровень |