Do you want these?<br><br>GetSystemInfo<br>The GetSystemInfo function returns information about the current system. <br>VOID GetSystemInfo(<br> LPSYSTEM_INFO lpSystemInfo // address of system information <br> // structure<br>);<br>Parameters<br>lpSystemInfo <br> Pointer to a SYSTEM_INFO structure to be filled in by this function. <br>Return Values<br> This function does not return a value. <br><br>SYSTEM_INFO<br> The SYSTEM_INFO structure contains information about the current<br>computer system. This includes the architecture and type of the<br>processor, the number of processors in the system, the page size,<br>and other such information. <br><br>typedef struct _SYSTEM_INFO { // sinf <br> union { <br> DWORD dwOemId; <br> struct { <br> WORD wProcessorArchitecture; <br> WORD wReserved; <br> }; <br> }; <br> DWORD dwPageSize; <br> LPVOID lpMinimumApplicationAddress; <br> LPVOID lpMaximumApplicationAddress; <br> DWORD dwActiveProcessorMask; <br> DWORD dwNumberOfProcessors; <br> DWORD dwProcessorType; <br> DWORD dwAllocationGranularity; <br> WORD wProcessorLevel; <br> WORD wProcessorRevision; <br>} SYSTEM_INFO; <br> <br>Members<br>dwOemId An obsolete member that is retained for compatibility<br> with previous versions of Windows NT. Beginning with<br> Windows NT 3.51 and the initial release of Windows 95,<br> use the wProcessorArchitecture branch of the union. <br> Windows 95: The system always sets this member to zero,<br> the value defined for PROCESSOR_ARCHITECTURE_INTEL. <br>wProcessorArchitecture <br> Specifies the system's processor architecture. This value<br> can be one of the following values: Value <br> PROCESSOR_ARCHITECTURE_INTEL <br> Windows NT: PROCESSOR_ARCHITECTURE_MIPS <br> Windows NT: PROCESSOR_ARCHITECTURE_ALPHA <br> Windows NT: PROCESSOR_ARCHITECTURE_PPC <br> Windows NT: PROCESSOR_ARCHITECTURE_UNKNOWN <br>wReserved <br> Reserved for future use. <br>dwPageSize <br> Specifies the page size and the granularity of page<br> protection and commitment. This is the page size used<br> by theVirtualAlloc function. <br>lpMinimumApplicationAddress <br> Pointer to the lowest memory address accessible to<br> applications and dynamic-link libraries (DLLs). <br>lpMaximumApplicationAddress <br> Pointer to the highest memory address accessible to<br> applications and DLLs. <br>dwActiveProcessorMask <br> Specifies a mask representing the set of processors<br> configured into the system. Bit 0 is processor 0;<br> bit 31 is processor 31. <br>dwNumberOfProcessors <br> Specifies the number of processors in the system. <br>dwProcessorType <br> Windows 95: Specifies the type of processor in the system. <br> Windows NT: This member is no longer relevant, but is<br> retained for compatibility with Windows 95<br> and previous versions of Windows NT. Use<br> the wProcessorArchitecture, wProcessorLevel,<br> and wProcessorRevision members to determine<br> the type of processor. <br> This member is one of the following values: Value <br> PROCESSOR_INTEL_386 <br> PROCESSOR_INTEL_486 <br> PROCESSOR_INTEL_PENTIUM <br> Windows NT: PROCESSOR_MIPS_R4000 <br> Windows NT: PROCESSOR_ALPHA_21064 <br>dwAllocationGranularity <br> Specifies the granularity with which virtual memory<br> is allocated. For example, a VirtualAlloc request to<br> allocate 1 byte will reserve an address space of<br> dwAllocationGranularity bytes. This value was hard<br> coded as 64K in the past, but other hardware<br> architectures may require different values. <br>wProcessorLevel <br> Windows 95: This member is not used. <br> Windows NT: Specifies the system's<br> architecture-dependent processor level. <br> If wProcessorArchitecture is<br> PROCESSOR_ARCHITECTURE_INTEL,<br> wProcessorLevel can be one of the following<br> values:<br> Value Meaning <br> 3 Intel 80386 <br> 4 Intel 80486 <br> 5 Pentium <br> If wProcessorArchitecture is<br> PROCESSOR_ARCHITECTURE_MIPS, wProcessorLevel<br> is of the form 00xx, where xx is an 8-bit<br> implementation number (bits 8-15 of the PRId<br> register). The member can be the following<br> value:<br> Value Meaning <br> 0004 MIPS R4000 <br> If wProcessorArchitecture is<br> PROCESSOR_ARCHITECTURE_ALPHA,<br> wProcessorLevel is of the form xxxx,<br> where xxxx is a 16-bit processor version<br> number (the low-order 16 bits of a version<br> number from the firmware). The member can<br> be one of the following values:<br> Decimal Value Meaning <br> 21064 Alpha 21064 <br> 21066 Alpha 21066 <br> 21164 Alpha 21164 <br> If wProcessorArchitecture is<br> PROCESSOR_ARCHITECTURE_PPC,<br> wProcessorLevel is of the form xxxx,<br> where xxxx is a 16-bit processor version<br> number (the high-order 16 bits of the<br> Processor Version Register). The member<br> can be one of the following values:<br> Decimal Value Meaning <br> 1 PPC 601 <br> 3 PPC 603 <br> 4 PPC 604 <br> 6 PPC 603+ <br> 9 PPC 604+ <br> 20 PPC 620 <br>wProcessorRevision <br> Windows 95: This member is not used. <br> Windows NT: Specifies an architecture-dependent<br> processor revision. The following<br> table shows how the revision value<br> is assembled for each type of<br> processor architecture.<br> Processor Architecture Value <br> Intel 80386 or 80486 A value of the form xxyz. <br> If xx is equal to 0xFF, y - 0xA is<br> the model number, and z is the stepping<br> identifier. For example, an Intel<br> 80486-D0 system returns 0xFFD0.<br><br> If xx is not equal to 0xFF, xx +<br> 'A' is the stepping letter and yz<br> is the minor stepping. <br> <br> Intel Pentium, <br> Cyrix, or NextGen 586 A value of the form xxyy, where<br> xx is the model number and yy is<br> the stepping. For example, a value<br> of 0x0201 indicates Model 2,<br> Stepping 1. <br> MIPS A value of the form 00xx, where<br> xx is the 8-bit revision number<br> of the processor (the low-order<br> 8 bits of the PRId register). <br> ALPHA A value of the form xxyy, where<br> xxyy is the low-order 16 bits of<br> the processor revision number from<br> the firmware. Display this value as<br> follows: <br> Model 'A'+xx, Pass yy<br> <br> PPC A value of the form xxyy, where<br> xxyy is the low-order 16 bits of<br> the Processor Version Register.<br> Display this value as a fixed<br> point number:<br> xx.yy<br> <br>Remarks<br> Beginning with Windows NT 3.51 and the initial release<br>of Windows 95, the SYSTEM_INFO structure has changed as follows: <br><br>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. <br>The dwProcessorType member is now obsolete on Windows NT. It is still used on Windows 95. <br>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. <br>