Поделиться через


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), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.

См. также

Ссылки

SystemInfo - члены

Microsoft.SmartDevice.Connectivity - пространство имен