SystemInfo - класс
Обновлен: Ноябрь 2007
Хранит информацию об устройстве, такую как сведения о ЦП, время работы батареи, объем памяти и версия операционной системы.
Пространство имен: Microsoft.SmartDevice.Connectivity
Сборка: Microsoft.SmartDevice.Connectivity (в Microsoft.SmartDevice.Connectivity.dll)
Синтаксис
'Декларация
Public Class SystemInfo
'Применение
Dim instance As SystemInfo
public class SystemInfo
public ref class SystemInfo
public class SystemInfo
Заметки
Для заполнения полей в этом классе вызывается метод GetSystemInfo.
Примеры
' 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();
}
Иерархия наследования
System.Object
Microsoft.SmartDevice.Connectivity.SystemInfo
Потокобезопасность
Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.