Поделиться через


Функция KeQueryActiveProcessorCount (ntddk.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.
Целевая платформа Универсальное
Верхняя часть ntddk.h (включая Wdm.h, Ntddk.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Любой уровень

См. также раздел

KeQueryActiveProcessorCountEx

KeQueryActiveProcessors

KeRegisterProcessorChangeCallback