(wdm.h) KeQueryActiveProcessorCount 函数

KeQueryActiveProcessorCount 例程返回当前处于活动状态的处理器数。

语法

ULONG KeQueryActiveProcessorCount(
  [out, optional] PKAFFINITY ActiveProcessors
);

参数

[out, optional] ActiveProcessors

指向 KAFFINITY 类型的变量的指针,该变量例程将写入表示当前活动处理器集的位掩码。 在热添加环境中,此掩码可能会在运行时更改。 此参数是可选的,如果调用方不需要活动处理器的掩码,则可以指定为 NULL

返回值

KeQueryActiveProcessorCount 返回当前处于活动状态的处理器数。

备注

设备驱动程序调用 KeQueryActiveProcessorCount 例程以检索当前活动处理器的数量。 为 Windows Vista 和更高版本的 Windows 操作系统生成的设备驱动程序不应将 KeNumberProcessors 内核变量用于此目的。

调用方不能假设 KeQueryActiveProcessorCount 例程连续将处理器映射到返回的 KAFFINITY 值中的位,或者每次调用该例程时都将返回相同的位掩码。

调用方还必须注意 ,KeQueryActiveProcessorCount 返回的值可以在运行时更改支持热添加 CPU 功能的 Windows 版本。

如有必要,请通过调用 KeRegisterProcessorChangeCallback 例程注册以通知对处理器数的更改。

若要仅查询相关性掩码而不获取活动处理器数,请使用 KeQueryActiveProcessors

Windows 7 及更高版本的 Windows 支持处理器组。 设计用于处理有关处理器组信息的驱动程序应使用 KeQueryActiveProcessorCountEx 例程,该例程指定处理器组,而不是不使用 的 KeQueryActiveProcessorCount。 但是,Windows 7 和更高版本中 的 KeQueryActiveProcessorCount 的实现为早期版本的 Windows 编写的驱动程序提供了兼容性,这些驱动程序不支持处理器组。 在此实现中, KeQueryActiveProcessorCount 返回组 0 中的活动逻辑处理器数,并将关联掩码写入 *ActiveProcessors ,该掩码指定组 0 中的活动逻辑处理器集。

要求

   
最低受支持的客户端 在 Windows Vista 和更高版本的 Windows 中可用。
目标平台 通用
标头 wdm.h (包括 Wdm.h、Ntddk.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 任何级别

另请参阅

KeQueryActiveProcessorCountEx

KeQueryActiveProcessors

KeRegisterProcessorChangeCallback