kernel32: Declare structures related to logical processor information (core, cache, node, group).
This commit is contained in:
parent
5c715b46f4
commit
25c8f445c0
108
include/winnt.h
108
include/winnt.h
|
@ -5476,6 +5476,114 @@ typedef enum _JOBOBJECTINFOCLASS
|
||||||
MaxJobObjectInfoClass
|
MaxJobObjectInfoClass
|
||||||
} JOBOBJECTINFOCLASS;
|
} JOBOBJECTINFOCLASS;
|
||||||
|
|
||||||
|
typedef enum _LOGICAL_PROCESSOR_RELATIONSHIP
|
||||||
|
{
|
||||||
|
RelationProcessorCore = 0,
|
||||||
|
RelationNumaNode = 1,
|
||||||
|
RelationCache = 2,
|
||||||
|
RelationProcessorPackage = 3,
|
||||||
|
RelationGroup = 4,
|
||||||
|
RelationAll = 0xffff
|
||||||
|
} LOGICAL_PROCESSOR_RELATIONSHIP;
|
||||||
|
|
||||||
|
typedef enum _PROCESSOR_CACHE_TYPE
|
||||||
|
{
|
||||||
|
CacheUnified,
|
||||||
|
CacheInstruction,
|
||||||
|
CacheData,
|
||||||
|
CacheTrace
|
||||||
|
} PROCESSOR_CACHE_TYPE;
|
||||||
|
|
||||||
|
typedef struct _PROCESSOR_GROUP_INFO
|
||||||
|
{
|
||||||
|
BYTE MaximumProcessorCount;
|
||||||
|
BYTE ActiveProcessorCount;
|
||||||
|
BYTE Reserved[38];
|
||||||
|
KAFFINITY ActiveProcessorMask;
|
||||||
|
} PROCESSOR_GROUP_INFO, *PPROCESSOR_GROUP_INFO;
|
||||||
|
|
||||||
|
typedef struct _CACHE_DESCRIPTOR
|
||||||
|
{
|
||||||
|
BYTE Level;
|
||||||
|
BYTE Associativity;
|
||||||
|
WORD LineSize;
|
||||||
|
DWORD Size;
|
||||||
|
PROCESSOR_CACHE_TYPE Type;
|
||||||
|
} CACHE_DESCRIPTOR, *PCACHE_DESCRIPTOR;
|
||||||
|
|
||||||
|
typedef struct _GROUP_AFFINITY
|
||||||
|
{
|
||||||
|
KAFFINITY Mask;
|
||||||
|
WORD Group;
|
||||||
|
WORD Reserved[3];
|
||||||
|
} GROUP_AFFINITY, *PGROUP_AFFINITY;
|
||||||
|
|
||||||
|
typedef struct _PROCESSOR_RELATIONSHIP
|
||||||
|
{
|
||||||
|
BYTE Flags;
|
||||||
|
BYTE Reserved[21];
|
||||||
|
WORD GroupCount;
|
||||||
|
GROUP_AFFINITY GroupMask[ANYSIZE_ARRAY];
|
||||||
|
} PROCESSOR_RELATIONSHIP, *PPROCESSOR_RELATIONSHIP;
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct _NUMA_NODE_RELATIONSHIP
|
||||||
|
{
|
||||||
|
DWORD NodeNumber;
|
||||||
|
BYTE Reserved[20];
|
||||||
|
GROUP_AFFINITY GroupMask;
|
||||||
|
} NUMA_NODE_RELATIONSHIP, *PNUMA_NODE_RELATIONSHIP;
|
||||||
|
|
||||||
|
typedef struct _CACHE_RELATIONSHIP
|
||||||
|
{
|
||||||
|
BYTE Level;
|
||||||
|
BYTE Associativity;
|
||||||
|
WORD LineSize;
|
||||||
|
PROCESSOR_CACHE_TYPE Type;
|
||||||
|
BYTE Reserved[20];
|
||||||
|
GROUP_AFFINITY GroupMask;
|
||||||
|
} CACHE_RELATIONSHIP, *PCACHE_RELATIONSHIP;
|
||||||
|
|
||||||
|
typedef struct _GROUP_RELATIONSHIP
|
||||||
|
{
|
||||||
|
WORD MaximumGroupCount;
|
||||||
|
WORD ActiveGroupCount;
|
||||||
|
BYTE Reserved[20];
|
||||||
|
PROCESSOR_GROUP_INFO GroupInfo[ANYSIZE_ARRAY];
|
||||||
|
} GROUP_RELATIONSHIP, *PGROUP_RELATIONSHIP;
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX
|
||||||
|
{
|
||||||
|
LOGICAL_PROCESSOR_RELATIONSHIP Relationship;
|
||||||
|
DWORD Size;
|
||||||
|
union
|
||||||
|
{
|
||||||
|
PROCESSOR_RELATIONSHIP Processor;
|
||||||
|
NUMA_NODE_RELATIONSHIP NumaNode;
|
||||||
|
CACHE_RELATIONSHIP Cache;
|
||||||
|
GROUP_RELATIONSHIP Group;
|
||||||
|
} DUMMYUNIONNAME;
|
||||||
|
} SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX, *PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX;
|
||||||
|
|
||||||
NTSYSAPI BOOLEAN NTAPI RtlGetProductInfo(DWORD,DWORD,DWORD,DWORD,PDWORD);
|
NTSYSAPI BOOLEAN NTAPI RtlGetProductInfo(DWORD,DWORD,DWORD,DWORD,PDWORD);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
Loading…
Reference in New Issue