SystemInfo Class

Stores device information such as CPU information, battery life, amount of memory, and operating system version.

Namespace:  Microsoft.SmartDevice.Connectivity
Assembly:  Microsoft.SmartDevice.Connectivity (in Microsoft.SmartDevice.Connectivity.dll)

Syntax

'Declaration
Public Class SystemInfo
'Usage
Dim instance As SystemInfo
public class SystemInfo
public ref class SystemInfo
public class SystemInfo

Remarks

Call GetSystemInfo to populate the fields in this class.

Examples

' Connect to the device.
device.Connect()

' If the device is connected, retrieve system information and output to console. 
If device.IsConnected() Then 
    Dim info As SystemInfo = device.GetSystemInfo()

    Console.WriteLine("Total Page File:  " + info.TotalPageFile.ToString())
    Console.WriteLine("Available Page File:  " + info.AvailPageFile.ToString())
    Console.WriteLine("Page Size:  " + info.PageSize.ToString() + vbCr + vbLf)

    Console.WriteLine("Total RAM:  " + info.TotalPhys.ToString())
    Console.WriteLine("Available RAM:  " + info.AvailPhys.ToString() + vbCr + vbLf)

    Console.WriteLine("Total Virtual Memory:  " + info.TotalVirtual.ToString())
    Console.WriteLine("Available Virtual Memory:  " + _
                      info.AvailVirtual.ToString() + vbCr + vbLf)

    If info.ACLineStatus = 1 Then
        Console.WriteLine("AC Line plugged in.")
    ElseIf info.ACLineStatus = 0 Then
        Console.WriteLine("AC Line unplugged.")
    End If

    Console.WriteLine("Main Battery:  " + info.BatteryFlag.ToString())
    Console.WriteLine("   Capacity:  " + info.BatteryFullLifetime.ToString())
    Console.WriteLine("   Percent:  " + info.BatteryLifePercent.ToString())
    Console.WriteLine("   Life:  " + info.BatteryLifetime.ToString())


    Console.WriteLine("Device Time:  " + info.CurrentTime.ToString())

    Console.WriteLine("Processor Architecture:  " + _
                      info.ProcessorArchitecture.ToString())
    Console.WriteLine("Instruction Set:  " + info.InstructionSet.ToString())
    Console.WriteLine("Number of CPU:  " + info.NumberOfProcessors.ToString())
    Console.WriteLine("OS:  " + info.OSMajor.ToString() + "." + _
                      info.OSMinor.ToString() & _
                      "." + info.OSBuildNo.ToString())
    Console.WriteLine("Locale ID:  " + info.SystemDefaultLocaleId.ToString())

    ' Query Device for current security policies  
    Dim readxml As String = "<wap-provisioningdoc>" & _
    "<characteristic type=""SecurityPolicy"">" & _
    "<parm-query name=""4123""/>" & _
    "<parm-query name=""4122""/>" & _
    "<parm-query name=""4101""/>" & _
    "<parm-query name=""4102""/>" & _
    "<parm-query name=""4097""/>" & _
    "</characteristic>" & _
    "</wap-provisioningdoc>"

    Console.WriteLine(device.ProvisionDevice(readxml, _
                                             device.ConfigActions.ProcessInput))

    ' Deploy two-tier prompt security configuration to device and see changes 
    Dim provisionxml As String = "<wap-provisioningdoc>" & _
    "<characteristic type=""SecurityPolicy"">" & _
    "<parm name=""4123"" value=""0"" />" & _
    "<parm name=""4122"" value=""0"" />" & _
    "<parm name=""4101"" value=""16"" />" & _
    "<parm name=""4102"" value=""1"" />" & _
    "<parm name=""4097"" value=""2"" />" & _
    "</characteristic>" & _
    "</wap-provisioningdoc>"

    Console.WriteLine(device.ProvisionDevice(provisionxml, _
                                             device.ConfigActions.ProcessInput))

    ' Read metadata about the policies
    Console.WriteLine(device.ProvisionDevice(readxml, _
                                             device.ConfigActions.ReadMetadata))
    device.Disconnect()
    Console.ReadLine()
End If
// Connect to the device.
            device.Connect();

            // If the device is connected, retrieve system information and output to console. 
            if (device.IsConnected())
            {
                SystemInfo info = device.GetSystemInfo();

                Console.WriteLine("Total Page File:  " + info.TotalPageFile.ToString());
                Console.WriteLine("Available Page File:  " + info.AvailPageFile.ToString());
                Console.WriteLine("Page Size:  " + info.PageSize.ToString() + "\r\n");

                Console.WriteLine("Total RAM:  " + info.TotalPhys.ToString());
                Console.WriteLine("Available RAM:  " + info.AvailPhys.ToString() + "\r\n");

                Console.WriteLine("Total Virtual Memory:  " + info.TotalVirtual.ToString());
                Console.WriteLine("Available Virtual Memory:  " + info.AvailVirtual.ToString()
                    + "\r\n");

                if (info.ACLineStatus == 1)
                {
                    Console.WriteLine("AC Line plugged in.");
                }
                else if(info.ACLineStatus == 0)
                {
                    Console.WriteLine("AC Line unplugged.");
                }
                Console.WriteLine("Main Battery Flag:  " + info.BatteryFlag.ToString());
                Console.WriteLine("   Capacity:  " + info.BatteryFullLifetime.ToString());
                Console.WriteLine("   Percent:  " + info.BatteryLifePercent.ToString());
                Console.WriteLine("   Life:  " + info.BatteryLifetime.ToString());

                Console.WriteLine("Device Time:  " + info.CurrentTime.ToString());

                Console.WriteLine("Processor Architecture:  " + 
                    info.ProcessorArchitecture.ToString());
                Console.WriteLine("Instruction Set:  " + info.InstructionSet.ToString());
                Console.WriteLine("Number of CPU:  " + info.NumberOfProcessors.ToString());
                Console.WriteLine("OS:  " + info.OSMajor.ToString() + "." + 
                    info.OSMinor.ToString() + 
                                  "." + info.OSBuildNo.ToString());
                Console.WriteLine("Locale ID:  " + info.SystemDefaultLocaleId.ToString());

                // Query Device for current security policies  
                string readxml = @"
<wap-provisioningdoc>
    <characteristic type=""SecurityPolicy"">
        <parm-query name=""4123""/>
        <parm-query name=""4122""/>
        <parm-query name=""4101""/>
        <parm-query name=""4102""/>
        <parm-query name=""4097""/>
    </characteristic>
</wap-provisioningdoc>";
                Console.WriteLine(device.ProvisionDevice(readxml, 
                    Device.ConfigActions.ProcessInput));

                // Deploy two-tier prompt security configuration to device and see changes 
                string provisionxml = @"
<wap-provisioningdoc>
    <characteristic type=""SecurityPolicy"">
        <parm name=""4123"" value=""0"" />
        <parm name=""4122"" value=""0"" />
        <parm name=""4101"" value=""16"" />
        <parm name=""4102"" value=""1"" />
        <parm name=""4097"" value=""2"" />
    </characteristic>
</wap-provisioningdoc>";
                Console.WriteLine(device.ProvisionDevice(provisionxml, 
                    Device.ConfigActions.ProcessInput));

                // Read metadata about the policies
                Console.WriteLine(device.ProvisionDevice(readxml, 
                    Device.ConfigActions.ReadMetadata));

                device.Disconnect();
                Console.ReadLine();
            }

Inheritance Hierarchy

System.Object
  Microsoft.SmartDevice.Connectivity.SystemInfo

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

SystemInfo Members

Microsoft.SmartDevice.Connectivity Namespace