SYSTEM_LOGICAL_PROCESSOR_INFORMATION 结构 (winnt.h)
描述指定处理器集之间的关系。 此结构与 GetLogicalProcessorInformation 函数一起使用。
语法
typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION {
ULONG_PTR ProcessorMask;
LOGICAL_PROCESSOR_RELATIONSHIP Relationship;
union {
struct {
BYTE Flags;
} ProcessorCore;
struct {
DWORD NodeNumber;
} NumaNode;
CACHE_DESCRIPTOR Cache;
ULONGLONG Reserved[2];
} DUMMYUNIONNAME;
} SYSTEM_LOGICAL_PROCESSOR_INFORMATION, *PSYSTEM_LOGICAL_PROCESSOR_INFORMATION;
成员
ProcessorMask
标识此结构所描述的处理器的处理器掩码。 处理器掩码是一个位向量,其中每个设置位表示关系中的活动处理器。 至少将设置一个位。
在处理器超过 64 个的系统上,处理器掩码标识单个 处理器组中的处理器。
Relationship
由 ProcessorMask 成员的值标识的处理器之间的关系。 此成员可以是以下 LOGICAL_PROCESSOR_RELATIONSHIP 值之一。
Windows 的未来版本可能支持 关系 成员的其他值。
DUMMYUNIONNAME
DUMMYUNIONNAME.ProcessorCore
仅当 Relationship 成员为 RelationProcessorCore 时,此结构才包含有效数据。
DUMMYUNIONNAME.ProcessorCore.Flags
如果此成员的值为 1,则由 ProcessorMask 成员的值标识的逻辑处理器共享功能单元,如在超线程或 SMT 中一样。 否则,标识的逻辑处理器不会共享功能单元。
Windows Server 2003 和 Windows XP Professional x64 Edition: 对于共享物理包的核心,此成员也是 1。 因此,若要确定处理器在 Windows Vista 之前的系统上是否支持多个核心或超线程,请使用 CPUID 指令。
DUMMYUNIONNAME.NumaNode
仅当 关系 成员为 RelationNumaNode 时,此结构才包含有效数据。
DUMMYUNIONNAME.NumaNode.NodeNumber
标识 NUMA 节点。 此参数的有效值为 0 到最高 NUMA 节点数(含)。 非 NUMA 多处理器系统将报告所有处理器都属于一个 NUMA 节点。
DUMMYUNIONNAME.Cache
标识特定缓存特征 的CACHE_DESCRIPTOR 结构。 报告的每个缓存返回一条记录。 某些或所有缓存可能不会报告,具体取决于处理器用于标识其缓存的机制。 因此,请勿假定没有任何特定缓存。 缓存不一定在逻辑处理器之间共享。
仅当 Relationship 成员为 RelationCache 时,此结构才包含有效数据。
Windows Server 2003: 此成员在 Windows Server 2003 SP1 和 Windows XP Professional x64 Edition 之前不受支持。
DUMMYUNIONNAME.Reserved[2]
保留。 请勿使用。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista、Windows XP Professional x64 Edition [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
标头 | winnt.h (包括 Windows.h) |
另请参阅
GetLogicalProcessorInformation
GetLogicalProcessorInformationEx