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 个逻辑处理器(适用于 32 位版本的 Windows)和 64 位版本的 Windows 的 64 个逻辑处理器。
相比之下, KeQueryActiveProcessorCountEx 例程返回的值在运行时可能会更改,因为处理器会动态添加到系统。
相关例程 KeQueryMaximumProcessorCount 返回最大处理器计数,但此例程与 KeQueryMaximumProcessorCountEx 不同,不接受组号作为输入参数。 在 Windows 7 及更高版本的 Windows 操作系统中, KeQueryMaximumProcessorCount 返回组 0 中逻辑处理器的最大数目,这与不支持组的早期版本的 Windows 中此例程的行为兼容。 此行为可确保调用 KeQueryMaximumProcessorCount 且不使用面向组的功能的现有驱动程序将在具有两个或更多组的多处理器系统中正常运行。 但是,在 Windows 7 及更高版本的 Windows 操作系统中使用任何面向组的功能的驱动程序应调用 KeQueryMaximumProcessorCountEx ,而不是 KeQueryMaximumProcessorCount。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows 7 和更高版本的 Windows 中可用。 |
目标平台 | 通用 |
标头 | ntddk.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 任何级别 |