KeQueryMaximumProcessorCount 函数 (wdm.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 中可用。 |
目标平台 | 普遍 |
标头 | wdm.h (包括 Wdm.h、Ntddk.h) |
库 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 任何级别 |