please dont rip this site Prev Next

SYSTEM_INFO info  Overview  Group

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:

Value

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:

Value

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

4

Intel 80486

5

Pentium

If wProcessorArchitecture is PROCESSOR_ARCHITECTURE_MIPS, wProcessorLevel is of the form 00xx, 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

1

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:

See Also

GetSystemInfo, MapViewOfFile, MapViewOfFileEx 


file: /Techref/os/win/api/win32/struc/src/str20_45.htm, 12KB, , updated: 2002/11/1 18:07, local time: 2024/11/5 03:45,
TOP NEW HELP FIND: 
3.144.254.245:LOG IN
©2024 PLEASE DON'T RIP! THIS SITE CLOSES OCT 28, 2024 SO LONG AND THANKS FOR ALL THE FISH!

 ©2024 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions?
Please DO link to this page! Digg it! / MAKE!

<A HREF="http://linistepper.com/techref/os/win/api/win32/struc/src/str20_45.htm"> SYSTEM_INFO</A>

After you find an appropriate page, you are invited to your to this massmind site! (posts will be visible only to you before review) Just type a nice message (short messages are blocked as spam) in the box and press the Post button. (HTML welcomed, but not the <A tag: Instead, use the link box to link to another page. A tutorial is available Members can login to post directly, become page editors, and be credited for their posts.


Link? Put it here: 
if you want a response, please enter your email address: 
Attn spammers: All posts are reviewed before being made visible to anyone other than the poster.
Did you find what you needed?