[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 中的活动逻辑处理器集。