Microsoft Windows CE 3.0  

SYSTEM_INFO

Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

This structure contains information about the current computer system. This includes the processor type, page size, original equipment manufacturer (OEM) identifier, and other such information.

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, *LPSYSTEM_INFO;

Members

dwOemId
An obsolete member that is not used by Windows CE.
wProcessorArchitecture
Specifies the system's processor architecture.
  • PROCESSOR_ARCHITECTURE_INTEL
  • PROCESSOR_ARCHITECTURE_MIPS
  • PROCESSOR_ARCHITECTURE_ALPHA
  • PROCESSOR_ARCHITECTURE_PPC
  • PROCESSOR_ARCHITECTURE_UNKNOWN
    dwReserved
    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 VirtualAllocfunction.
    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
    Specifies the type of processor in the system.

    It is no longer relevant. Use the wProcessorArchitecture, wProcessorLevel, and wProcessorRevisionmembers to determine the type of processor.

    This member is one of the following values:

    • PROCESSOR_INTEL_386
    • PROCESSOR_INTEL_486
    • PROCESSOR_INTEL_PENTIUM
    • PROCESSOR_MIPS_R3000
    • PROCESSOR_MIPS_R4000
    • PROCESSOR_HITACHI_SH3
    • PROCESSOR_HITACHI_SH4
    • PROCESSOR_PPC_403
    • PROCESSOR_PPC_821
    • PROCESSOR_STRONGARM
    • PROCESSOR_ARM720
      dwAllocationGranularity
      Specifies the granularity with which virtual memory is allocated. For example, a VirtualAllocrequest to allocate 1 byte will reserve an address space of dwAllocationGranularitybytes. This value was hard coded as 64K in the past, but other hardware architectures may require different values.
      wProcessorLevel
      Specifies the system's architecture-dependent processor level.

      If wProcessorArchitectureis PROCESSOR_ARCHITECTURE_INTEL, wProcessorLevelcan be one of the following values:

      Value Description
      4 Intel 80486
      5 Pentium

      If wProcessorArchitectureis PROCESSOR_ARCHITECTURE_MIPS, wProcessorLevelis of the form 00 XX, where XXis an 8-bit implementation number (bits 8-15 of the PRId register). The member can be the following value:

      Value Description
      3 MIPS R3000
      0004 MIPS R4000
        If wProcessorArchitectureis PROCESSOR_ARCHITECTURE_PPC, wProcessorLevelis of the form XXXX, where XXXXis a 16-bit processor version number (the high-order 16 bits of the Processor Version Register).
      wProcessorRevision
      Specifies an architecture-dependent processor revision. The following table shows how the revision value is assembled for each type of processor architecture.
      Value Description
      Intel 80386 or 80486 A value of the form xxyz.
        If xxis equal to 0xFF, y- 0xA is the model number, and zis the stepping identifier. For example, an Intel 80486-D0 system returns 0xFFD0.
        If xxis not equal to 0xFF, xx+ �A' is the stepping letter and yzis the minor stepping.
      Intel Pentium, Cyrix, or NextGen 586 A value of the form xxyy, where xxis the model number and yyis the stepping. For example, a value of 0x0201 indicates Model 2, Stepping 1.
      MIPS A value of the form 00 xx, where xxis 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 xxyyis 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 xxyyis the low-order 16 bits of the Processor Version Register. Display this value as a fixed point number:
        xx. yy

      Requirements

      Runs on Versions Defined in Include Link to
      Windows CE OS 1.0 and later Winbase.h    
      Note   This API is part of the complete Windows CE OS package as provided by Microsoft. The functionality of a particular platform is determined by the original equipment manufacturer (OEM) and some devices may not support this API.

      See Also

      GetSystemInfo, VirtualAlloc