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.