SYSTEM_INFO 结构 (sysinfoapi.h)

包含有关当前计算机系统的信息。 这包括处理器的体系结构和类型、系统中的处理器数、页面大小和其他此类信息。

语法

typedef struct _SYSTEM_INFO {
  union {
    DWORD dwOemId;
    struct {
      WORD wProcessorArchitecture;
      WORD wReserved;
    } DUMMYSTRUCTNAME;
  } DUMMYUNIONNAME;
  DWORD     dwPageSize;
  LPVOID    lpMinimumApplicationAddress;
  LPVOID    lpMaximumApplicationAddress;
  DWORD_PTR dwActiveProcessorMask;
  DWORD     dwNumberOfProcessors;
  DWORD     dwProcessorType;
  DWORD     dwAllocationGranularity;
  WORD      wProcessorLevel;
  WORD      wProcessorRevision;
} SYSTEM_INFO, *LPSYSTEM_INFO;

成员

DUMMYUNIONNAME

DUMMYUNIONNAME.dwOemId

为保持兼容性而保留的已过时成员。 应用程序应使用联合的 wProcessorArchitecture 分支。

DUMMYUNIONNAME.DUMMYSTRUCTNAME

DUMMYUNIONNAME.DUMMYSTRUCTNAME.wProcessorArchitecture

已安装操作系统的处理器体系结构。 此成员可以是以下值之一。

含义
PROCESSOR_ARCHITECTURE_AMD64
9
x64 (AMD 或 Intel)
PROCESSOR_ARCHITECTURE_ARM
5
ARM
PROCESSOR_ARCHITECTURE_ARM64
12
ARM64
PROCESSOR_ARCHITECTURE_IA64
6
基于 Intel Itanium
PROCESSOR_ARCHITECTURE_INTEL
0
x86
PROCESSOR_ARCHITECTURE_UNKNOWN
0xffff
未知的体系结构。

DUMMYUNIONNAME.DUMMYSTRUCTNAME.wReserved

此成员留待将来使用。

dwPageSize

页面保护和承诺的页面大小和粒度。 这是 VirtualAlloc 函数使用的页大小。

lpMinimumApplicationAddress

指向应用程序和动态链接库可访问的最低内存地址的指针, (DLL) 。

lpMaximumApplicationAddress

指向应用程序和 DLL 可访问的最高内存地址的指针。

dwActiveProcessorMask

一个掩码,表示在系统中配置的处理器集。 位 0 是处理器 0;位 31 是处理器 31。

dwNumberOfProcessors

当前组中的逻辑处理器数。 若要检索当前处理器组,请使用 GetLogicalProcessorInformation 函数。

注意 有关逻辑处理器共享的物理处理器的信息,请调用 GetLogicalProcessorInformationEx ,并将 RelationshipType 参数设置为 RelationProcessorPackage (3) 。
 

dwProcessorType

为保持兼容性而保留的已过时成员。 使用 wProcessorArchitecturewProcessorLevelwProcessorRevision 成员来确定处理器的类型。

PROCESSOR_INTEL_386 (386)

PROCESSOR_INTEL_486 (486)

PROCESSOR_INTEL_PENTIUM (586)

PROCESSOR_INTEL_IA64 (2200)

PROCESSOR_AMD_X8664 (8664)

PROCESSOR_ARM (保留)

dwAllocationGranularity

可以分配虚拟内存的起始地址的粒度。 有关详细信息,请参阅 VirtualAlloc

wProcessorLevel

依赖于体系结构的处理器级别。 它应仅用于显示目的。 若要确定处理器的功能集,请使用 IsProcessorFeaturePresent 函数。

如果 wProcessorArchitecture PROCESSOR_ARCHITECTURE_INTEL, 则 wProcessorLevel 由 CPU 供应商定义。

如果 wProcessorArchitecture 为PROCESSOR_ARCHITECTURE_IA64, 则 wProcessorLevel 设置为 1。

wProcessorRevision

依赖于体系结构的处理器修订版。 下表显示了如何为每种类型的处理器体系结构组合修订值。

处理器
Intel Pentium、Cyrix 或 NextGen 586 高字节是模型,低字节是单步执行。 例如,如果值为 xxyy,则可以按如下所示显示型号和步进:

模型 xx,单步 yy

Intel 80386 或 80486 形式的值 xxyz

如果 xx 等于 0xFF, 则 y - 0xA 是型号, z 是步进标识符。

如果 xx 不等于 0xFF, 则 xx + “A” 是步进字母, yz 是次要单步执行。

ARM 保留。

要求

要求
最低受支持的客户端 Windows 2000 专业版 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows 2000 Server [桌面应用 |UWP 应用]
标头 sysinfoapi.h (包括 Windows.h)

另请参阅

GetNativeSystemInfo

GetSystemInfo

MapViewOfFile

MapViewOfFileEx