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)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 任何级别

另请参阅

KeQueryActiveProcessorCount

KeQueryMaximumProcessorCountEx