SYSTEM_INFO

【勇芳软件工作室】汉化HomePreviousNext

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

typedef struct _SYSTEM_INFO { //类

工会{

DWORD dwOemId;

struct {

WORD wProcessorArchitecture;

WORD wReserved;

};

};

DWORD dwPageSize;

LPVOID lpMinimumApplicationAddress;

LPVOID lpMaximumApplicationAddress;

DWORD dwActiveProcessorMask;

DWORD dwNumberOfProcessors;

DWORD dwProcessorType;

DWORD dwAllocationGranularity;

WORD wProcessorLevel;

WORD wProcessorRevision;

} SYSTEM_INFO;

会员

dwOemId

保留与旧版Windows NT兼容的过时成员。从Windows NT 3.51和Windows 95的初始版本开始,使用联合的wProcessorArchitecture分支。

Windows 95:系统始终将此成员设置为零,为PROCESSOR_ARCHITECTURE_INTEL定义的值。

wProcessorArchitecture

指定系统的处理器架构。该值可以是以下值之一:

PROCESSOR_ARCHITECTURE_INTEL
仅Windows NT: PROCESSOR_ARCHITECTURE_MIPS
仅Windows NT: PROCESSOR_ARCHITECTURE_ALPHA
仅Windows NT: PROCESSOR_ARCHITECTURE_PPC
仅Windows NT: PROCESSOR_ARCHITECTURE_UNKNOWN

wReserved

留作将来使用。

dwPageSize

指定页面大小和页面保护和承诺的粒度。这是VirtualAlloc功能使用的页面大小。

lpMinimumApplicationAddress

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

lpMaximumApplicationAddress

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

dwActiveProcessorMask

指定一个掩码,表示配置到系统中的一组处理器。位0是处理器0;位31是处理器31。

dwNumberOfProcessors

指定系统中的处理器数量。

dwProcessorType

Windows 95:

指定系统中的处理器类型。

Windows NT:

该成员不再相关,但与Windows 95和以前版本的Windows NT保持兼容。使用wProcessorArchitecturewProcessorLevelwProcessorRevision成员确定处理器的类型。

该成员是以下值之一:

PROCESSOR_INTEL_386
PROCESSOR_INTEL_486
PROCESSOR_INTEL_PENTIUM
仅Windows NT: PROCESSOR_MIPS_R4000
仅Windows NT: PROCESSOR_ALPHA_21064

dwAllocationGranularity

指定分配虚拟内存的粒度。例如,分配1个字节的VirtualAlloc请求将保留dwAllocationGranularity个字节的地址空间。该值在过去硬编码为64K,但其他硬件架构可能需要不同的值。

wProcessorLevel

Windows 95:此成员未使用。

Windows NT:指定系统与架构相关的处理器级别。

如果wProcessorArchitecture为PROCESSOR_ARCHITECTURE_INTEL,则wProcessorLevel可以是以下值之一:

含义
3英特尔80386
4英特尔80486
5奔腾

如果wProcessorArchitecture为PROCESSOR_ARCHITECTURE_MIPS,wProcessorLevel的格式为00 【xx】,其中【xx】是8位实现号(PRId寄存器的8-15位)。该成员可以是以下值:

含义
0004MIPS R4000

如果wProcessorArchitecture为PROCESSOR_ARCHITECTURE_ALPHA,wProcessorLevel的格式为【XXXX】,其中【XXXX】是16位处理器版本号(固件版本号的低位16位)。该成员可以是以下值之一:

十进制值含义
21064阿尔法21064
21066阿尔法21066
21164阿尔法21164

如果wProcessorArchitecture为PROCESSOR_ARCHITECTURE_PPC,则wProcessorLevel的格式为【XXXX】,其中【XXXX】是16位处理器版本号(处理器版本寄存器的高位16位)。该成员可以是以下值之一:

十进制值含义
1PPC 601
3PPC 603
4PPC 604
6PPC 603+
9PPC 604+
20PPC 620

wProcessorRevision

Windows 95:此成员未使用。

Windows NT:指定与架构相关的处理器版本。下表显示了每种类型的处理器架构如何组装修订版本值。

处理器架构
英特尔80386或80486【xxyz】形式的值。

如果【xx】等于0xFF,则【y】 - 0xA是型号,【z】是步进标识符。例如,Intel 80486-D0系统返回0xFFD0。

如果【xx】不等于0xFF,则【xx】 +'A'是步进字母,【yz】是次要步进。

英特尔奔腾,
Cyrix或
NextGen 586
【XXYY】的形式,其中【xx】是型号【】【yy】的值是步进。例如,值0x0201表示模型2,步骤1。
MIPS形式00 【xx】的值,其中【xx】是处理器的8位版本号(PRId寄存器的低8位)。
ALPHA形式【XXYY】的值,其中【XXYY】是来自固件的处理器版本号的低位16位。显示该值如下:

型号'A'+ 【xx】,通行证【yy】

PPC【XXYY】形式的值,其中【XXYY】是处理器版本寄存器的低位16位。将此值显示为固定点数:

【xx】.【yy】


备注

从Windows NT 3.51和Windows 95的初始版本开始,SYSTEM_INFO结构已更改如下:

* dwOemId成员已更改为联盟。该工会支持一种新的方式来描述Windows NT使用的处理器架构,同时保持与Windows 95和以前版本的Windows NT的兼容性。

* dwProcessorType成员现在已经在Windows NT上过时了。它仍然在Windows 95上使用。

*结构结尾的以前保留的DWORD??成员已被wProcessorLevelwProcessorRevision成员替换。Windows 95不使用这些成员。

也可以看看

GetSystemInfo, MapViewOfFile, MapViewOfFileEx