KeQueryMaximumProcessorCountEx 函数 (ntddk.h)
KeQueryMaximumProcessorCountEx 例程返回多处理器系统中指定组中的最大逻辑处理器数。
语法
ULONG KeQueryMaximumProcessorCountEx(
[in] USHORT GroupNumber
);
参数
[in] GroupNumber
指定组号。 如果多处理器系统包含 n 组,则组编号为 0 到 n-1。 若要获取系统中的最大处理器数,请将此参数设置为 ALL_PROCESSOR_GROUPS,该参数在 Winnt.h 和 Ntdef.h 头文件中定义。
返回值
KeQueryMaximumProcessorCountEx 返回指定组或系统中逻辑处理器的最大数目,如 GroupNumber 参数的值指示。
言论
KeQueryMaximumProcessorCountEx 返回的值在运行时保持不变。 此值取决于多处理器系统的硬件配置,但它永远不会超过 Windows作系统设置的固定限制。 对于 32 位版本的 Windows 和 64 位版本的 Windows,此限制为 32 个逻辑处理器,对于 64 位版本的 Windows,此限制为 64 个逻辑处理器。
相比之下,KeQueryActiveProcessorCountEx 例程返回的值可以在运行时更改,因为处理器动态添加到系统中。
相关的例程 KeQueryMaximumProcessorCount返回最大处理器计数,但此例程与 KeQueryMaximumProcessorCountEx不同,不接受组号作为输入参数。 在 Windows 7 及更高版本的 Windows作系统中,KeQueryMaximumProcessorCount 返回组 0 中逻辑处理器的最大数目,这与不支持组的早期版本的 Windows 中此例程的行为兼容。 此行为可确保调用 KeQueryMaximumProcessorCount 的现有驱动程序,并且不会在具有两个或更多组的多处理器系统中正确运行任何面向组的功能。 但是,在 Windows 7 及更高版本中使用任何面向组的功能的驱动程序应调用 KeQueryMaximumProcessorCountEx,而不是 KeQueryMaximumProcessorCount。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 在 Windows 7 及更高版本的 Windows 中可用。 |
目标平台 | 普遍 |
标头 | ntddk.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
库 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 任何级别 |