KeQueryMaximumProcessorCount 函数 (ntddk.h)

KeQueryMaximumProcessorCount 例程返回最大处理器数。

语法

ULONG KeQueryMaximumProcessorCount();

返回值

KeQueryMaximumProcessorCount 将最大处理器数作为 ULONG 值返回。

注解

KeQueryMaximumProcessorCount 例程返回的值在运行时不会更改。

如果代码使用缓冲区数组(每个处理器有一个缓冲区),则必须决定是具有基于 KeQueryMaximumProcessorCount 的静态大小数组还是基于 KeQueryActiveProcessorCount 的动态大小数组。

若要根据处理器数进行优化,需要适用于 Windows Server 2008 的可调整大小结构。 在这种情况下,请使用 KeQueryActiveProcessorCount

如果不进行优化,并且使用最大处理器计数生成的数据结构相对较小,则不需要调整大小的结构。 在这种情况下,请使用 KeQueryMaximumProcessorCount 来确定静态数组的大小。

Windows 7 及更高版本的 Windows 支持处理器组。 旨在处理处理器组相关信息的驱动程序应使用 KeQueryMaximumProcessorCountEx 例程(该例程指定处理器组),而不是 KeQueryMaximumProcessorCount,后者不指定。 但是,Windows 7 及更高版本中 KeQueryMaximumProcessorCount 的实现为不支持处理器组的早期 Windows 版本编写的驱动程序提供兼容性。 在此实现中, KeQueryMaximumProcessorCount 返回组 0 中可以的最大逻辑处理器数。

要求

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

另请参阅

KeQueryActiveProcessorCount

KeQueryMaximumProcessorCountEx