NDIS_SYSTEM_PROCESSOR_INFO结构 (ndis.h)
NDIS_SYSTEM_PROCESSOR_INFO 结构指定有关本地计算机的 CPU 拓扑和接收端缩放 (RSS) 处理器集的信息。
语法
typedef struct _NDIS_SYSTEM_PROCESSOR_INFO {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
NDIS_PROCESSOR_VENDOR ProcessorVendor;
ULONG NumPhysicalPackages;
ULONG NumCores;
ULONG NumCoresPerPhysicalPackage;
ULONG MaxHyperThreadingCpusPerCore;
ULONG RssBaseCpu;
ULONG RssCpuCount;
PUCHAR RssProcessors;
NDIS_PROCESSOR_INFO CpuInfo[MAXIMUM_PROC_PER_GROUP];
} NDIS_SYSTEM_PROCESSOR_INFO, *PNDIS_SYSTEM_PROCESSOR_INFO;
成员
Header
NDIS_SYSTEM_PROCESSOR_INFO结构的 NDIS_OBJECT_HEADER 结构。 将 标头 指定为NDIS_OBJECT_TYPE_DEFAULT的结构 类型 成员、修订 成员设置为NDIS_SYSTEM_PROCESSOR_INFO_REVISION_1,并将 大小 成员设置为NDIS_SIZEOF_SYSTEM_PROCESSOR_INFO_REVISION_1。
Flags
保留。 将此成员设置为零。
ProcessorVendor
指定为以下值之一的处理器供应商 NDIS_PROCESSOR_VENDOR 枚举。
NumPhysicalPackages
本地计算机中的处理器物理包总数。
NumCores
本地计算机中的核心处理器总数。 例如,如果有两个双核物理包,请将此成员设置为 4。
NumCoresPerPhysicalPackage
每个物理包中的核心处理器数。 例如,将此成员设置为双核物理包的两个。
MaxHyperThreadingCpusPerCore
每个超线程核心处理器中的最大逻辑处理器数。 例如,如果每个超线程核心处理器支持两个逻辑处理器,请将此成员设置为 2。
RssBaseCpu
用于 RSS 的起始 CPU 编号。
RssCpuCount
用于 RSS 的处理器数。
RssProcessors
指向可选调用方提供的缓冲区的指针,该缓冲区将包含可用于 RSS 的处理器的 CPU 号。 如果不需要 CPU 数,请将此成员设置为 NULL。 若要获取 CPU 数字,此成员必须包含有效的指针,并且此缓冲区的大小必须至少 MAXIMUM_PROCESSORS * sizeof (UCHAR)。 之后 NdisGetProcessorInformation 函数成功返回,缓冲区包含 CPU 数字,后跟未定义数据。
CpuInfo[MAXIMUM_PROC_PER_GROUP]
NDIS_PROCESSOR_INFO 结构的数组。 NdisGetProcessorInformation 函数成功返回后,此数组将为本地计算机中的每个处理器提供信息。 数组中的值数等于本地计算机中的处理器数,因为 NdisSystemActiveProcessorCount 函数报告。
言论
NDIS 网络驱动程序使用调用中的NDIS_SYSTEM_PROCESSOR_INFO结构 NdisGetProcessorInformation 函数。 NdisGetProcessorInformation 返回后,此结构包含有关系统的 CPU 拓扑以及将用于接收端缩放(RSS)的处理器集的信息。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | NDIS 6.0 和 6.1 支持。 对于 NDIS 6.20 及更高版本,请使用NDIS_SYSTEM_PROCESSOR_INFO_EX。 |
标头 | ndis.h (包括 Ndis.h) |