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


Функция 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, поддерживающих функции ЦП горячей надстройки.

При необходимости зарегистрируйтесь для уведомления об изменении количества процессоров, вызвав подпрограмму KeRegisterProcessorChangeCall back.

Чтобы запросить только маску сходства без получения количества активных процессоров, используйте KeQueryActiveProcessors.

Windows 7 и более поздних версий групп обработчиков Windows. Драйверы, предназначенные для обработки сведений о группах процессоров, должны использовать подпрограмму KeQueryActiveProcessorCountEx, которая задает группу процессоров вместо KeQueryActiveProcessorCount, которая не имеет значения. Однако реализация KeQueryActiveProcessorCount в Windows 7 и более поздних версиях Windows обеспечивает совместимость драйверов, написанных для более ранних версий Windows, которые не поддерживают группы обработчиков. В этой реализации KeQueryActiveProcessorCount возвращает количество активных логических процессоров в группе 0 и записывает маску сходства в *ActiveProcessors, указывающую набор активных логических процессоров в группе 0.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно в Windows Vista и более поздних версиях Windows.
целевая платформа Всеобщий
заголовка ntddk.h (include Wdm.h, Ntddk.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Любой уровень

См. также

KeQueryActiveProcessorCountEx

KeQueryActiveProcessors

KeRegisterProcessorChangeCallback