@msdn=http://search.microsoft.com/search/results.aspx?qu=$$$ @pinvoke=http://pinvoke.net/$$$.htm Summary: TODO - a short description !!!!C# Signature: [DllImport("kernel32", SetLastError = true)] public static extern void GetSystemInfo(out SYSTEM_INFO lpSystemInfo); !!!!VB Signature: Declare Function GetSystemInfo Lib "coredll.dll" (ByVal lpSystemInfo AS SYSTEM_INFO) !!!!VB Support Enumerations: Public Enum ProcessorArchitecture As Int16 PROCESSOR_ARCHITECTURE_INTEL = 0 PROCESSOR_ARCHITECTURE_MIPS = 1 PROCESSOR_ARCHITECTURE_ALPHA = 2 PROCESSOR_ARCHITECTURE_PPC = 3 PROCESSOR_ARCHITECTURE_SHX = 4 PROCESSOR_ARCHITECTURE_ARM = 5 PROCESSOR_ARCHITECTURE_IA64 = 6 PROCESSOR_ARCHITECTURE_ALPHA64 = 7 PROCESSOR_ARCHITECTURE_UNKNOWN = &hFFFF; End Enum SYSTEM_INFO@msdn on MSDN /// <summary> /// http://msdn.microsoft.com/en-us/library/ms942639.aspx /// </summary> [StructLayout(LayoutKind.Sequential)] public struct SYSTEM_INFO_WCE30 { [MarshalAs(UnmanagedType.U4)] public int dwOemId; [MarshalAs(UnmanagedType.U2)] public short wProcessorArch; [MarshalAs(UnmanagedType.U2)] public short wReserved; [MarshalAs(UnmanagedType.U4)] public int dwPageSize; public uint lpMinimumApplicationAddress; public uint lpMaximumApplicationAddress; [MarshalAs(UnmanagedType.U4)] public int dwActiveProcessorMask; [MarshalAs(UnmanagedType.U4)] public int dwNumberOfProcessors; [MarshalAs(UnmanagedType.U4)] public int dwProcessorType; [MarshalAs(UnmanagedType.U4)] public int dwAllocationGranularity; [MarshalAs(UnmanagedType.U2)] public short dwProcessorLevel; [MarshalAs(UnmanagedType.U2)] public short dwProcessorRevision; } /// <summary> /// http://msdn.microsoft.com/en-us/library/aa450921.aspx /// </summary> [StructLayout(LayoutKind.Sequential)] public struct SYSTEM_INFO_WCE50 { [MarshalAs(UnmanagedType.U2)] public short wProcessorArch; [MarshalAs(UnmanagedType.U2)] public short wReserved; [MarshalAs(UnmanagedType.U4)] public int dwPageSize; public uint lpMinimumApplicationAddress; public uint lpMaximumApplicationAddress; [MarshalAs(UnmanagedType.U4)] public int dwActiveProcessorMask; [MarshalAs(UnmanagedType.U4)] public int dwNumberOfProcessors; [MarshalAs(UnmanagedType.U4)] public int dwProcessorType; [MarshalAs(UnmanagedType.U4)] public int dwAllocationGranularity; [MarshalAs(UnmanagedType.U2)] public short dwProcessorLevel; [MarshalAs(UnmanagedType.U2)] public short dwProcessorRevision; } !!!!Alternative Managed API: Do you know one? Please contribute it! !!!!Notes: !!!!Tips & Tricks: Please add some! !!!!Sample Code: using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; namespace Test { public enum ProcessorArchitecture : int { PROCESSOR_ARCHITECTURE_INTEL = 0, PROCESSOR_ARCHITECTURE_MIPS = 1, PROCESSOR_ARCHITECTURE_ALPHA = 2, PROCESSOR_ARCHITECTURE_PPC = 3, PROCESSOR_ARCHITECTURE_SHX = 4, PROCESSOR_ARCHITECTURE_ARM = 5, PROCESSOR_ARCHITECTURE_IA64 = 6, PROCESSOR_ARCHITECTURE_ALPHA64 = 7, PROCESSOR_ARCHITECTURE_UNKNOWN = 0xFFFF, } public class SysInfo { [DllImport("kernel32", EntryPoint = "GetSystemInfo", SetLastError = true)] public static extern void GetSystemInfo30(out SYSTEM_INFO_WCE30 pSi); [DllImport("kernel32", EntryPoint = "GetSystemInfo", SetLastError = true)] public static extern void GetSystemInfo50(out SYSTEM_INFO_WCE50 pSi); public static ProcessorArchitecture GetProcessorArch() { if (Environment.OSVersion.Platform != PlatformID.WinCE) return ProcessorArchitecture.PROCESSOR_ARCHITECTURE_UNKNOWN; // probably no coredll if (Environment.OSVersion.Version.Major >= 5) { SYSTEM_INFO_WCE50 si; GetSystemInfo50(out si); return (ProcessorArchitecture)si.wProcessorArch; } else { SYSTEM_INFO_WCE30 si; GetSystemInfo30(out si); return (ProcessorArchitecture)si.wProcessorArch; } } } Documentation: GetSystemInfo@msdn on MSDN
Edit coredll.getsystem...
You do not have permission to change this page. If you feel this is in error, please send feedback with the contact link on the main page.