|
Overview |
|
|
|
Group |
|
|
|
Quick Info
Windows NT
| Yes
| Win95
| Yes
| Win32s
| No
| Import Library
| -
| Header File
| winbase.h
| Unicode
| No
| Platform Notes
| None
|
|
|
SYSTEM_INFO
The
SYSTEM_INFO structure contains information about the current computer system. This
includes the architecture and type of the processor, the number of processors in the
system, the page size, and other such information.
typedef struct _SYSTEM_INFO { // sinf
union {
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;
Members
dwOemId
An obsolete member that is retained for compatibility with previous versions
of Windows NT. Beginning with Windows NT 3.51 and the initial release of Windows
95, use the
wProcessorArchitecture branch of the union.
Windows 95: The system always sets this member to zero, the value defined for
PROCESSOR_ARCHITECTURE_INTEL.
wProcessorArchitecture
Specifies the system's processor architecture. This value can be one of the
following values:
PROCESSOR_ARCHITECTURE_INTEL
|
Windows NT only: PROCESSOR_ARCHITECTURE_MIPS
|
Windows NT only: PROCESSOR_ARCHITECTURE_ALPHA
|
Windows NT only: PROCESSOR_ARCHITECTURE_PPC
|
Windows NT only: PROCESSOR_ARCHITECTURE_UNKNOWN
|
wReserved
Reserved for future use.
dwPageSize
Specifies the page size and the granularity of page protection and commitment.
This is the page size used by the
VirtualAlloc function.
lpMinimumApplicationAddress
Pointer to the lowest memory address accessible to applications and
dynamic-link libraries (DLLs).
lpMaximumApplicationAddress
Pointer to the highest memory address accessible to applications and DLLs.
dwActiveProcessorMask
Specifies a mask representing the set of processors configured into the
system. Bit 0 is processor 0; bit 31 is processor 31.
dwNumberOfProcessors
Specifies the number of processors in the system.
dwProcessorType
Windows 95:
Specifies the type of processor in the system.
Windows NT:
This member is no longer relevant, but is retained for compatibility with
Windows 95 and previous versions of Windows NT. Use the
wProcessorArchitecture,
wProcessorLevel, and
wProcessorRevision members to determine the type of processor.
This member is one of the following values:
PROCESSOR_INTEL_386
|
PROCESSOR_INTEL_486
|
PROCESSOR_INTEL_PENTIUM
|
Windows NT only: PROCESSOR_MIPS_R4000
|
Windows NT only: PROCESSOR_ALPHA_21064
|
dwAllocationGranularity
Specifies the granularity with which virtual memory is allocated. For example,
a
VirtualAlloc request to allocate 1 byte will reserve an address space of
dwAllocationGranularity bytes. This value was hard coded as 64K in the past, but other hardware
architectures may require different values.
wProcessorLevel
Windows 95: This member is not used.
Windows NT: Specifies the system's architecture-dependent processor level.
If
wProcessorArchitecture is PROCESSOR_ARCHITECTURE_INTEL,
wProcessorLevel can be one of the following values:
Value
| Meaning
|
3
| Intel 80386
|
-
| Intel 80486
|
-
| Pentium
|
If
wProcessorArchitecture is PROCESSOR_ARCHITECTURE_MIPS,
wProcessorLevel is of the form 00
xx, where
xx is an 8-bit implementation number (bits 8-15 of the PRId register). The
member can be the following value:
Value
| Meaning
|
0004
| MIPS R4000
|
If
wProcessorArchitecture is PROCESSOR_ARCHITECTURE_ALPHA,
wProcessorLevel is of the form
xxxx, where
xxxx is a 16-bit processor version number (the low-order 16 bits of a version
number from the firmware). The member can be one of the following values:
Decimal Value
| Meaning
|
21064
| Alpha 21064
|
21066
| Alpha 21066
|
21164
| Alpha 21164
|
If
wProcessorArchitecture is PROCESSOR_ARCHITECTURE_PPC,
wProcessorLevel is of the form
xxxx, where
xxxx is a 16-bit processor version number (the high-order 16 bits of the Processor
Version Register). The member can be one of the following values:
Decimal Value
| Meaning
|
-
| PPC 601
|
3
| PPC 603
|
4
| PPC 604
|
6
| PPC 603+
|
9
| PPC 604+
|
20
| PPC 620
|
wProcessorRevision
Windows 95: This member is not used.
Windows NT: Specifies an architecture-dependent processor revision. The following table
shows how the revision value is assembled for each type of processor
architecture.
Processor Architecture
| Value
|
Intel 80386 or 80486
| A value of the form xxyz.
If xx is equal to 0xFF, y - 0xA is the model number, and z is the stepping identifier. For example, an Intel 80486-D0 system returns
0xFFD0.
If xx is not equal to 0xFF, xx + 'A' is the stepping letter and yz is the minor stepping.
|
Intel Pentium,
Cyrix, or
NextGen 586
| A value of the form xxyy, where xx is the model number and yy is the stepping. For example, a value of 0x0201 indicates Model 2, Stepping 1.
|
MIPS
| A value of the form 00xx, where xx is the 8-bit revision number of the processor (the low-order 8 bits of the
PRId register).
|
ALPHA
| A value of the form xxyy, where xxyy is the low-order 16 bits of the processor revision number from the firmware.
Display this value as follows:
Model 'A'+xx, Pass yy
|
PPC
| A value of the form xxyy, where xxyy is the low-order 16 bits of the Processor Version Register. Display this
value as a fixed point number:
xx.yy
|
Remarks
Beginning with Windows NT 3.51 and the initial release of Windows 95, the
SYSTEM_INFO structure has changed as follows:
- The dwOemId member has been changed to a union. The union supports a new way to describe
processor architecture used by Windows NT, while maintaining compatibility with
Windows 95 and previous versions of Windows NT.
- The dwProcessorType member is now obsolete on Windows NT. It is still used on Windows 95.
- A previously reserved DWORD member at the end of the structure has been replaced by the wProcessorLevel and wProcessorRevision members. Windows 95 does not use these members.
See Also
GetSystemInfo,
MapViewOfFile,
MapViewOfFileEx
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database