aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.SystemInfo
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2020-03-12 17:15:11 +0200
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2020-03-12 17:15:11 +0200
commit755f37e3e3e553a91dd2c5a7f0ddad8359287a3b (patch)
tree0f9fe447c75a86ff4b647df31bf49b64dd12ee42 /Software/Visual_Studio/Tango.SystemInfo
parente774f9a90fd812a9de8c3efe966a759bee8be703 (diff)
downloadTango-755f37e3e3e553a91dd2c5a7f0ddad8359287a3b.tar.gz
Tango-755f37e3e3e553a91dd2c5a7f0ddad8359287a3b.zip
Working on FSE/PPC monitoring/system info.
Diffstat (limited to 'Software/Visual_Studio/Tango.SystemInfo')
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Connection.cs83
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/IWMI.cs11
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Properties/AssemblyInfo.cs36
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/SystemObject.cs31
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/SystemObjectProperty.cs12
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/SystemObjectsCollection.cs111
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Tango.SystemInfo.csproj102
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/WMIReader.cs60
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_BIOS.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_BaseBoard.cs27
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_Battery.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_Bus.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_CDROMDrive.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_DMAChannel.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_DiskDrive.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_Fan.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_FloppyController.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_FloppyDrive.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_IDEController.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_IRQResource.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_Keyboard.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_MemoryDevice.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_NetworkAdapter.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_NetworkAdapterConfiguration.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_OnBoardDevice.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_OperatingSystem.cs21
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_PCMCIController.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_POTSModem.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_ParallelPort.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_PhysicalMedia.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_PhysicalMemory.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_PortConnector.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_PortResource.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_Processor.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_SCSIController.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_SerialPort.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_SerialPortConfiguration.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_SoundDevice.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_SystemEnclosure.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_TapeDrive.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_TemperatureProbe.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_USBController.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_USBHub.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_UninterruptiblePowerSupply.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_VideoController.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/Win32_VoltageProbe.cs25
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/XMLConfig.cs29
-rw-r--r--Software/Visual_Studio/Tango.SystemInfo/settings.xml1347
48 files changed, 2770 insertions, 0 deletions
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Connection.cs b/Software/Visual_Studio/Tango.SystemInfo/Connection.cs
new file mode 100644
index 000000000..3e4e1e73d
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Connection.cs
@@ -0,0 +1,83 @@
+using System;
+using System.Management;
+using System.Collections.Generic;
+using System.Text;
+
+//Tango.SystemInfo
+namespace Tango.SystemInfo
+{
+ class Connection
+ {
+ ManagementScope connectionScope;
+ ConnectionOptions options;
+
+ #region "properties"
+ public ManagementScope GetConnectionScope
+ {
+ get { return connectionScope; }
+ }
+ public ConnectionOptions GetOptions
+ {
+ get { return options; }
+ }
+ #endregion
+
+ #region "static helpers"
+ public static ConnectionOptions SetConnectionOptions()
+ {
+ ConnectionOptions options = new ConnectionOptions();
+ options.Impersonation = ImpersonationLevel.Impersonate;
+ options.Authentication = AuthenticationLevel.Default;
+ options.EnablePrivileges = true;
+ return options;
+ }
+
+ public static ManagementScope SetConnectionScope(string machineName,
+ ConnectionOptions options)
+ {
+ ManagementScope connectScope = new ManagementScope();
+ connectScope.Path = new ManagementPath(@"\\" + machineName + @"\root\CIMV2");
+ connectScope.Options = options;
+
+ try
+ {
+ connectScope.Connect();
+ }
+ catch (ManagementException e)
+ {
+ Console.WriteLine("An Error Occurred: " + e.Message.ToString());
+ }
+ return connectScope;
+ }
+ #endregion
+
+ #region "constructors"
+ public Connection()
+ {
+ EstablishConnection(null, null, null, Environment.MachineName);
+ }
+
+ public Connection(string userName,
+ string password,
+ string domain,
+ string machineName)
+ {
+ EstablishConnection(userName, password, domain, machineName);
+ }
+ #endregion
+
+ #region "private helpers"
+ private void EstablishConnection(string userName, string password, string domain, string machineName)
+ {
+ options = Connection.SetConnectionOptions();
+ if (domain != null || userName != null)
+ {
+ options.Username = domain + "\\" + userName;
+ options.Password = password;
+ }
+ connectionScope = Connection.SetConnectionScope(machineName, options);
+ }
+ #endregion
+
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/IWMI.cs b/Software/Visual_Studio/Tango.SystemInfo/IWMI.cs
new file mode 100644
index 000000000..06252731f
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/IWMI.cs
@@ -0,0 +1,11 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ interface IWMI
+ {
+ IList<SystemObject> GetHardwareInfoList();
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Properties/AssemblyInfo.cs b/Software/Visual_Studio/Tango.SystemInfo/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..1ff929bce
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Tango.SystemInfo")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Tango.SystemInfo")]
+[assembly: AssemblyCopyright("Copyright © 2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("997a961c-beda-4b56-aa0f-c39e532f7ffa")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/Software/Visual_Studio/Tango.SystemInfo/SystemObject.cs b/Software/Visual_Studio/Tango.SystemInfo/SystemObject.cs
new file mode 100644
index 000000000..be1c74fe5
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/SystemObject.cs
@@ -0,0 +1,31 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ public class SystemObject
+ {
+ public String Name { get; set; }
+ public List<SystemObjectProperty> Properties { get; set; }
+
+ public SystemObject()
+ {
+ Properties = new List<SystemObjectProperty>();
+ }
+
+ public override string ToString()
+ {
+ String msg = String.Empty;
+
+ msg = $"Name: {Name}\n";
+
+ foreach (var prop in Properties)
+ {
+ msg += $"{prop.Name}: {prop.Value}\n";
+ }
+
+ return msg;
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/SystemObjectProperty.cs b/Software/Visual_Studio/Tango.SystemInfo/SystemObjectProperty.cs
new file mode 100644
index 000000000..c2d04e2a5
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/SystemObjectProperty.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ public class SystemObjectProperty
+ {
+ public String Name { get; set; }
+ public String Value { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/SystemObjectsCollection.cs b/Software/Visual_Studio/Tango.SystemInfo/SystemObjectsCollection.cs
new file mode 100644
index 000000000..ec191750c
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/SystemObjectsCollection.cs
@@ -0,0 +1,111 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.SystemInfo
+{
+ public class SystemObjectsCollection
+ {
+ public String Name { get; set; }
+
+ public List<SystemObject> Objects { get; set; }
+
+ public SystemObjectsCollection()
+ {
+ Objects = new List<SystemObject>();
+ }
+
+ public override string ToString()
+ {
+ String str = String.Empty;
+
+ str += Name + "\n\n";
+
+ foreach (var obj in Objects)
+ {
+ str += obj.ToString();
+ str += "\n";
+ }
+
+ str += "\n";
+
+ return str;
+ }
+
+ public static List<SystemObjectsCollection> Create()
+ {
+ List<SystemObjectsCollection> list = new List<SystemObjectsCollection>();
+
+ Connection wmiConnection = new Connection();
+
+ SystemObjectsCollection board = new SystemObjectsCollection() { Name = "Board" };
+ Win32_BaseBoard boardConnection = new Win32_BaseBoard(wmiConnection);
+ board.Objects = boardConnection.GetHardwareInfoList().ToList();
+ list.Add(board);
+
+ SystemObjectsCollection bios = new SystemObjectsCollection() { Name = "BIOS" };
+ Win32_BIOS biosConnection = new Win32_BIOS(wmiConnection);
+ bios.Objects = biosConnection.GetHardwareInfoList().ToList();
+ list.Add(bios);
+
+ SystemObjectsCollection disk = new SystemObjectsCollection() { Name = "Disk Drives" };
+ Win32_DiskDrive diskConnection = new Win32_DiskDrive(wmiConnection);
+ disk.Objects = diskConnection.GetHardwareInfoList().ToList();
+ list.Add(disk);
+
+ SystemObjectsCollection fan = new SystemObjectsCollection() { Name = "Fan" };
+ Win32_Fan fanConnection = new Win32_Fan(wmiConnection);
+ fan.Objects = fanConnection.GetHardwareInfoList().ToList();
+ list.Add(fan);
+
+ SystemObjectsCollection network = new SystemObjectsCollection() { Name = "Network" };
+ Win32_NetworkAdapter networkConnection = new Win32_NetworkAdapter(wmiConnection);
+ network.Objects = networkConnection.GetHardwareInfoList().ToList();
+ list.Add(network);
+
+ SystemObjectsCollection memory = new SystemObjectsCollection() { Name = "Memory" };
+ Win32_PhysicalMemory memoryConnection = new Win32_PhysicalMemory(wmiConnection);
+ memory.Objects = memoryConnection.GetHardwareInfoList().ToList();
+ list.Add(memory);
+
+ SystemObjectsCollection processor = new SystemObjectsCollection() { Name = "Processor" };
+ Win32_Processor processorConnection = new Win32_Processor(wmiConnection);
+ processor.Objects = processorConnection.GetHardwareInfoList().ToList();
+ list.Add(processor);
+
+ SystemObjectsCollection serial = new SystemObjectsCollection() { Name = "Serial Ports" };
+ Win32_SerialPort serialConnection = new Win32_SerialPort(wmiConnection);
+ serial.Objects = serialConnection.GetHardwareInfoList().ToList();
+ list.Add(serial);
+
+ SystemObjectsCollection sound = new SystemObjectsCollection() { Name = "Sound" };
+ Win32_SoundDevice soundConnection = new Win32_SoundDevice(wmiConnection);
+ sound.Objects = soundConnection.GetHardwareInfoList().ToList();
+ list.Add(sound);
+
+ SystemObjectsCollection temp = new SystemObjectsCollection() { Name = "Temperature" };
+ Win32_TemperatureProbe tempConnection = new Win32_TemperatureProbe(wmiConnection);
+ temp.Objects = tempConnection.GetHardwareInfoList().ToList();
+ list.Add(temp);
+
+ SystemObjectsCollection power = new SystemObjectsCollection() { Name = "Power Supply" };
+ Win32_UninterruptiblePowerSupply powerConnection = new Win32_UninterruptiblePowerSupply(wmiConnection);
+ power.Objects = powerConnection.GetHardwareInfoList().ToList();
+ list.Add(power);
+
+ SystemObjectsCollection video = new SystemObjectsCollection() { Name = "Video Controller" };
+ Win32_VideoController videoConnection = new Win32_VideoController(wmiConnection);
+ video.Objects = videoConnection.GetHardwareInfoList().ToList();
+ list.Add(video);
+
+ SystemObjectsCollection voltage = new SystemObjectsCollection() { Name = "Voltage" };
+ Win32_VoltageProbe voltageConnection = new Win32_VoltageProbe(wmiConnection);
+ voltage.Objects = voltageConnection.GetHardwareInfoList().ToList();
+ list.Add(voltage);
+
+ return list;
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Tango.SystemInfo.csproj b/Software/Visual_Studio/Tango.SystemInfo/Tango.SystemInfo.csproj
new file mode 100644
index 000000000..90cf14c29
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Tango.SystemInfo.csproj
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{997A961C-BEDA-4B56-AA0F-C39E532F7FFA}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Tango.SystemInfo</RootNamespace>
+ <AssemblyName>Tango.SystemInfo</AssemblyName>
+ <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <Deterministic>true</Deterministic>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Management" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Net.Http" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Connection.cs" />
+ <Compile Include="SystemObject.cs" />
+ <Compile Include="SystemObjectProperty.cs" />
+ <Compile Include="SystemObjectsCollection.cs" />
+ <Compile Include="WMIReader.cs" />
+ <Compile Include="XMLConfig.cs" />
+ <Compile Include="IWMI.cs" />
+ <Compile Include="Win32_BaseBoard.cs" />
+ <Compile Include="Win32_Battery.cs" />
+ <Compile Include="Win32_BIOS.cs" />
+ <Compile Include="Win32_Bus.cs" />
+ <Compile Include="Win32_CDROMDrive.cs" />
+ <Compile Include="Win32_DiskDrive.cs" />
+ <Compile Include="Win32_DMAChannel.cs" />
+ <Compile Include="Win32_Fan.cs" />
+ <Compile Include="Win32_FloppyController.cs" />
+ <Compile Include="Win32_FloppyDrive.cs" />
+ <Compile Include="Win32_IDEController.cs" />
+ <Compile Include="Win32_IRQResource.cs" />
+ <Compile Include="Win32_Keyboard.cs" />
+ <Compile Include="Win32_MemoryDevice.cs" />
+ <Compile Include="Win32_NetworkAdapter.cs" />
+ <Compile Include="Win32_NetworkAdapterConfiguration.cs" />
+ <Compile Include="Win32_OnBoardDevice.cs" />
+ <Compile Include="Win32_OperatingSystem.cs" />
+ <Compile Include="Win32_ParallelPort.cs" />
+ <Compile Include="Win32_PCMCIController.cs" />
+ <Compile Include="Win32_PhysicalMedia.cs" />
+ <Compile Include="Win32_PhysicalMemory.cs" />
+ <Compile Include="Win32_PortConnector.cs" />
+ <Compile Include="Win32_PortResource.cs" />
+ <Compile Include="Win32_POTSModem.cs" />
+ <Compile Include="Win32_Processor.cs" />
+ <Compile Include="Win32_SCSIController.cs" />
+ <Compile Include="Win32_SerialPort.cs" />
+ <Compile Include="Win32_SerialPortConfiguration.cs" />
+ <Compile Include="Win32_SoundDevice.cs" />
+ <Compile Include="Win32_SystemEnclosure.cs" />
+ <Compile Include="Win32_TapeDrive.cs" />
+ <Compile Include="Win32_TemperatureProbe.cs" />
+ <Compile Include="Win32_UninterruptiblePowerSupply.cs" />
+ <Compile Include="Win32_USBController.cs" />
+ <Compile Include="Win32_USBHub.cs" />
+ <Compile Include="Win32_VideoController.cs" />
+ <Compile Include="Win32_VoltageProbe.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <EmbeddedResource Include="settings.xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\Tango.Core\Tango.Core.csproj">
+ <Project>{a34ee0f0-649d-41c8-8489-b6f1cc6924ee}</Project>
+ <Name>Tango.Core</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project> \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.SystemInfo/WMIReader.cs b/Software/Visual_Studio/Tango.SystemInfo/WMIReader.cs
new file mode 100644
index 000000000..d7d909089
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/WMIReader.cs
@@ -0,0 +1,60 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Management;
+
+namespace Tango.SystemInfo
+{
+ class WMIReader
+ {
+ public static IList<SystemObject> GetPropertyValues(Connection WMIConnection,
+ string SelectQuery,
+ string className)
+ {
+ List<SystemObject> hardwareList = new List<SystemObject>();
+
+ ManagementScope connectionScope = WMIConnection.GetConnectionScope;
+ List<string> alProperties = new List<string>();
+ SelectQuery msQuery = new SelectQuery(SelectQuery);
+ ManagementObjectSearcher searchProcedure = new ManagementObjectSearcher(connectionScope, msQuery);
+
+ try
+ {
+ foreach (ManagementObject item in searchProcedure.Get())
+ {
+ SystemObject hardware = new SystemObject();
+
+ try
+ {
+ hardware.Name = item["Name"].ToString();
+ }
+ catch
+ {
+ hardware.Name = item.ToString();
+ }
+
+ hardwareList.Add(hardware);
+
+ foreach (string property in XMLConfig.GetSettings(className))
+ {
+ try
+ {
+ hardware.Properties.Add(new SystemObjectProperty()
+ {
+ Name = property,
+ Value = item[property].ToString()
+ });
+ }
+ catch (SystemException) { /* ignore error */ }
+ }
+ }
+ }
+ catch (ManagementException e)
+ {
+ /* Do Nothing */
+ }
+
+ return hardwareList;
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_BIOS.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_BIOS.cs
new file mode 100644
index 000000000..f86c0d5ca
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_BIOS.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_BIOS : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_BIOS(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_BaseBoard.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_BaseBoard.cs
new file mode 100644
index 000000000..f9030ff54
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_BaseBoard.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Management;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_BaseBoard: IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_BaseBoard(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_Battery.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_Battery.cs
new file mode 100644
index 000000000..91700d678
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_Battery.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_Battery : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_Battery(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_Bus.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_Bus.cs
new file mode 100644
index 000000000..8aba00430
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_Bus.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_Bus : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_Bus(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_CDROMDrive.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_CDROMDrive.cs
new file mode 100644
index 000000000..e6eaa08a9
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_CDROMDrive.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_CDROMDrive : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_CDROMDrive(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_DMAChannel.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_DMAChannel.cs
new file mode 100644
index 000000000..12e0228fb
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_DMAChannel.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_DMAChannel : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_DMAChannel(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_DiskDrive.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_DiskDrive.cs
new file mode 100644
index 000000000..8600a663d
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_DiskDrive.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_DiskDrive : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_DiskDrive(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_Fan.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_Fan.cs
new file mode 100644
index 000000000..afc241c37
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_Fan.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_Fan : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_Fan(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_FloppyController.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_FloppyController.cs
new file mode 100644
index 000000000..5ac1f9d8f
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_FloppyController.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_FloppyController : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_FloppyController(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_FloppyDrive.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_FloppyDrive.cs
new file mode 100644
index 000000000..10b1b8fde
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_FloppyDrive.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_FloppyDrive : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_FloppyDrive(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_IDEController.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_IDEController.cs
new file mode 100644
index 000000000..899a4ad5e
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_IDEController.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_IDEController : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_IDEController(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_IRQResource.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_IRQResource.cs
new file mode 100644
index 000000000..ff39c68fd
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_IRQResource.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_IRQResource : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_IRQResource(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_Keyboard.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_Keyboard.cs
new file mode 100644
index 000000000..2657b5954
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_Keyboard.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_Keyboard : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_Keyboard(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_MemoryDevice.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_MemoryDevice.cs
new file mode 100644
index 000000000..8ed21c13d
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_MemoryDevice.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_MemoryDevice : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_MemoryDevice(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_NetworkAdapter.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_NetworkAdapter.cs
new file mode 100644
index 000000000..561919a2d
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_NetworkAdapter.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_NetworkAdapter : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_NetworkAdapter(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_NetworkAdapterConfiguration.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_NetworkAdapterConfiguration.cs
new file mode 100644
index 000000000..ba22e1d01
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_NetworkAdapterConfiguration.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_NetworkAdapterConfiguration : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_NetworkAdapterConfiguration(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_OnBoardDevice.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_OnBoardDevice.cs
new file mode 100644
index 000000000..7c4bea2a3
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_OnBoardDevice.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_OnBoardDevice : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_OnBoardDevice(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_OperatingSystem.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_OperatingSystem.cs
new file mode 100644
index 000000000..24b93d92c
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_OperatingSystem.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_OperatingSystem : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_OperatingSystem(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ return WMIReader.GetPropertyValues(WMIConnection, "select * from Win32_OperatingSystem", "Win32_OperatingSystem");
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_PCMCIController.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_PCMCIController.cs
new file mode 100644
index 000000000..772af0a28
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_PCMCIController.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_PCMCIController : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_PCMCIController(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_POTSModem.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_POTSModem.cs
new file mode 100644
index 000000000..29f9549ca
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_POTSModem.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_POTSModem : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_POTSModem(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_ParallelPort.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_ParallelPort.cs
new file mode 100644
index 000000000..81244c588
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_ParallelPort.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_ParallelPort : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_ParallelPort(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_PhysicalMedia.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_PhysicalMedia.cs
new file mode 100644
index 000000000..816944da4
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_PhysicalMedia.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_PhysicalMedia : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_PhysicalMedia(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_PhysicalMemory.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_PhysicalMemory.cs
new file mode 100644
index 000000000..d319a3fa7
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_PhysicalMemory.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_PhysicalMemory : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_PhysicalMemory(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_PortConnector.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_PortConnector.cs
new file mode 100644
index 000000000..20288cec7
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_PortConnector.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_PortConnector : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_PortConnector(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_PortResource.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_PortResource.cs
new file mode 100644
index 000000000..8a8da41e7
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_PortResource.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_PortResource : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_PortResource(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_Processor.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_Processor.cs
new file mode 100644
index 000000000..e8387c2bd
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_Processor.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_Processor : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_Processor(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_SCSIController.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_SCSIController.cs
new file mode 100644
index 000000000..dfe689951
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_SCSIController.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_SCSIController : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_SCSIController(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_SerialPort.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_SerialPort.cs
new file mode 100644
index 000000000..6b20763f9
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_SerialPort.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_SerialPort : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_SerialPort(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_SerialPortConfiguration.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_SerialPortConfiguration.cs
new file mode 100644
index 000000000..d1efe826b
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_SerialPortConfiguration.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_SerialPortConfiguration : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_SerialPortConfiguration(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_SoundDevice.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_SoundDevice.cs
new file mode 100644
index 000000000..bece1f169
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_SoundDevice.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_SoundDevice : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_SoundDevice(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_SystemEnclosure.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_SystemEnclosure.cs
new file mode 100644
index 000000000..184ee3b99
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_SystemEnclosure.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_SystemEnclosure : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_SystemEnclosure(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_TapeDrive.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_TapeDrive.cs
new file mode 100644
index 000000000..94600d518
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_TapeDrive.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_TapeDrive : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_TapeDrive(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_TemperatureProbe.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_TemperatureProbe.cs
new file mode 100644
index 000000000..579203237
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_TemperatureProbe.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_TemperatureProbe : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_TemperatureProbe(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_USBController.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_USBController.cs
new file mode 100644
index 000000000..6df7b4799
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_USBController.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_USBController : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_USBController(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_USBHub.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_USBHub.cs
new file mode 100644
index 000000000..b0f812ebe
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_USBHub.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_USBHub : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_USBHub(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_UninterruptiblePowerSupply.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_UninterruptiblePowerSupply.cs
new file mode 100644
index 000000000..d8dc7bacd
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_UninterruptiblePowerSupply.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_UninterruptiblePowerSupply : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_UninterruptiblePowerSupply(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_VideoController.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_VideoController.cs
new file mode 100644
index 000000000..973303b98
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_VideoController.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_VideoController : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_VideoController(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/Win32_VoltageProbe.cs b/Software/Visual_Studio/Tango.SystemInfo/Win32_VoltageProbe.cs
new file mode 100644
index 000000000..818898aa8
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/Win32_VoltageProbe.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.SystemInfo
+{
+ class Win32_VoltageProbe : IWMI
+ {
+ Connection WMIConnection;
+
+ public Win32_VoltageProbe(Connection WMIConnection)
+ {
+ this.WMIConnection = WMIConnection;
+ }
+ public IList<SystemObject> GetHardwareInfoList()
+ {
+ string className = System.Text.RegularExpressions.Regex.Match(
+ this.GetType().ToString(), "Win32_.*").Value;
+
+ return WMIReader.GetPropertyValues(WMIConnection,
+ "SELECT * FROM " + className,
+ className);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/XMLConfig.cs b/Software/Visual_Studio/Tango.SystemInfo/XMLConfig.cs
new file mode 100644
index 000000000..a6113a0cb
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/XMLConfig.cs
@@ -0,0 +1,29 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Xml;
+
+namespace Tango.SystemInfo
+{
+ class XMLConfig
+ {
+ private static List<string> propNames;
+
+ public static List<string> GetSettings(string WMIClassName)
+ {
+ if (propNames == null)
+ {
+ propNames = new List<string>();
+ System.Xml.XmlDocument xmldoc = new System.Xml.XmlDocument();
+ xmldoc.Load(Tango.Core.Helpers.EmbeddedResourceHelper.GetEmbeddedResourceStream("Tango.SystemInfo.settings.xml"));
+ System.Xml.XmlNode properties = xmldoc.SelectSingleNode("//" + WMIClassName);
+
+ for (int i = 0; i < properties.ChildNodes.Count; i++)
+ propNames.Add(properties.ChildNodes[i].InnerText);
+
+ }
+
+ return propNames;
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SystemInfo/settings.xml b/Software/Visual_Studio/Tango.SystemInfo/settings.xml
new file mode 100644
index 000000000..ae3059407
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SystemInfo/settings.xml
@@ -0,0 +1,1347 @@
+<?xmlversion = "1.0"encoding="utf-8"?>
+<AppSettings>
+ <WMI>
+ <Win32_OperatingSystem>
+ <property>BootDevice</property>
+ <property>BuildNumber</property>
+ <property>BuildType</property>
+ <property>Caption</property>
+ <property>CodeSet</property>
+ <property>CountryCode</property>
+ <property>CreationClassName</property>
+ <property>CSCreationClassName</property>
+ <property>CSDVersion</property>
+ <property>CSName</property>
+ <property>CurrentTimeZone</property>
+ <property>DataExecutionPrevention_Available</property>
+ <property>DataExecutionPrevention_32BitApplications</property>
+ <property>DataExecutionPrevention_Drivers</property>
+ <property>DataExecutionPrevention_SupportPolicy</property>
+ <property>Debug</property>
+ <property>Description</property>
+ <property>Distributed</property>
+ <property>EncryptionLevel</property>
+ <property>FreePhysicalMemory</property>
+ <property>FreeSpaceInPagingFiles</property>
+ <property>FreeVirtualMemory</property>
+ <property>InstallDate</property>
+ <property>LargeSystemCache</property>
+ <property>LastBootUpTime</property>
+ <property>LocalDateTime</property>
+ <property>Locale</property>
+ <property>Manufacturer</property>
+ <property>MaxNumberOfProcesses</property>
+ <property>MaxProcessMemorySize</property>
+ <property>Name</property>
+ <property>NumberOfLicensedUsers</property>
+ <property>NumberOfProcesses</property>
+ <property>NumberOfUsers</property>
+ <property>OperatingSystemSKU</property>
+ <property>Organization</property>
+ <property>OSArchitecture</property>
+ <property>OSLanguage</property>
+ <property>OSProductSuite</property>
+ <property>OSType</property>
+ <property>OtherTypeDescription</property>
+ <property>PAEEnabled</property>
+ <property>PlusProductID</property>
+ <property>PlusVersionNumber</property>
+ <property>PortableOperatingSystem</property>
+ <property>Primary</property>
+ <property>ProductType</property>
+ <property>RegisteredUser</property>
+ <property>SerialNumber</property>
+ <property>ServicePackMajorVersion</property>
+ <property>ServicePackMinorVersion</property>
+ <property>SizeStoredInPagingFiles</property>
+ <property>Status</property>
+ <property>SuiteMask</property>
+ <property>SystemDevice</property>
+ <property>SystemDirectory</property>
+ <property>SystemDrive</property>
+ <property>TotalSwapSpaceSize</property>
+ <property>TotalVirtualMemorySize</property>
+ <property>TotalVisibleMemorySize</property>
+ <property>Version</property>
+ <property>WindowsDirectory</property>
+ <property>QuantumLength</property>
+ <property>QuantumType</property>
+ </Win32_OperatingSystem>
+ <Win32_BaseBoard>
+ <property>Caption</property>
+ <property>CreationClassName</property>
+ <property>Depth</property>
+ <property>Description</property>
+ <property>Height</property>
+ <property>HostingBoard</property>
+ <property>HotSwappable</property>
+ <property>InstallDate</property>
+ <property>Manufacturer</property>
+ <property>Model</property>
+ <property>Name</property>
+ <property>OtherIdentifyingInfo</property>
+ <property>PartNumber</property>
+ <property>PoweredOn</property>
+ <property>Product</property>
+ <property>Removable</property>
+ <property>Replaceable</property>
+ <property>RequirementsDescription</property>
+ <property>RequiresDaughterBoard</property>
+ <property>SerialNumber</property>
+ <property>SKU</property>
+ <property>SlotLayout</property>
+ <property>SpecialRequirements</property>
+ <property>Status</property>
+ <property>Tag</property>
+ <property>Version</property>
+ <property>Weight</property>
+ <property>Width</property>
+ </Win32_BaseBoard>
+ <Win32_Battery>
+ <property>Availability</property>
+ <property>BatteryRechargeTime</property>
+ <property>BatteryStatus</property>
+ <property>Caption</property>
+ <property>Chemistry</property>
+ <property>ConfigManagerErrorCode</property>
+ <property>ConfigManagerUserConfig</property>
+ <property>CreationClassName</property>
+ <property>Description</property>
+ <property>DesignCapacity</property>
+ <property>DesignVoltage</property>
+ <property>DeviceID</property>
+ <property>ErrorCleared</property>
+ <property>ErrorDescription</property>
+ <property>EstimatedChargeRemaining</property>
+ <property>EstimatedRunTime</property>
+ <property>ExpectedBatteryLife</property>
+ <property>ExpectedLife</property>
+ <property>FullChargeCapacity</property>
+ <property>InstallDate</property>
+ <property>LastErrorCode</property>
+ <property>MaxRechargeTime</property>
+ <property>Name</property>
+ <property>PNPDeviceID</property>
+ <property>PowerManagementSupported</property>
+ <property>SmartBatteryVersion</property>
+ <property>Status</property>
+ <property>StatusInfo</property>
+ <property>SystemCreationClassName</property>
+ <property>SystemName</property>
+ <property>TimeOnBattery</property>
+ <property>TimeToFullCharge</property>
+ </Win32_Battery>
+ <Win32_BIOS>
+ <property>BuildNumber</property>
+ <property>Caption</property>
+ <property>CodeSet</property>
+ <property>CurrentLanguage</property>
+ <property>Description</property>
+ <property>IdentificationCode</property>
+ <property>InstallableLanguages</property>
+ <property>InstallDate</property>
+ <property>LanguageEdition</property>
+ <property>Manufacturer</property>
+ <property>Name</property>
+ <property>OtherTargetOS</property>
+ <property>PrimaryBIOS</property>
+ <property>ReleaseDate</property>
+ <property>SerialNumber</property>
+ <property>SMBIOSBIOSVersion</property>
+ <property>SMBIOSMajorVersion</property>
+ <property>SMBIOSMinorVersion</property>
+ <property>SMBIOSPresent</property>
+ <property>SoftwareElementID</property>
+ <property>SoftwareElementState</property>
+ <property>Status</property>
+ <property>TargetOperatingSystem</property>
+ <property>Version</property>
+ </Win32_BIOS>
+ <Win32_Bus>
+ <property>Availability</property>
+ <property>BusNum</property>
+ <property>BusType</property>
+ <property>Caption</property>
+ <property>ConfigManagerErrorCode</property>
+ <property>ConfigManagerUserConfig</property>
+ <property>CreationClassName</property>
+ <property>Description</property>
+ <property>DeviceID</property>
+ <property>ErrorCleared</property>
+ <property>ErrorDescription</property>
+ <property>InstallDate</property>
+ <property>LastErrorCode</property>
+ <property>Name</property>
+ <property>PNPDeviceID</property>
+ <property>PowerManagementSupported</property>
+ <property>Status</property>
+ <property>StatusInfo</property>
+ <property>SystemCreationClassName</property>
+ <property>SystemName</property>
+ </Win32_Bus>
+ <Win32_CDROMDrive>
+ <property>Availability</property>
+ <property>Caption</property>
+ <property>CompressionMethod</property>
+ <property>ConfigManagerErrorCode</property>
+ <property>ConfigManagerUserConfig</property>
+ <property>CreationClassName</property>
+ <property>DefaultBlockSize</property>
+ <property>Description</property>
+ <property>DeviceID</property>
+ <property>Drive</property>
+ <property>DriveIntegrity</property>
+ <property>ErrorCleared</property>
+ <property>ErrorDescription</property>
+ <property>ErrorMethodology</property>
+ <property>FileSystemFlags</property>
+ <property>FileSystemFlagsEx</property>
+ <property>InstallDate</property>
+ <property>LastErrorCode</property>
+ <property>Manufacturer</property>
+ <property>MaxBlockSize</property>
+ <property>MaximumComponentLength</property>
+ <property>MaxMediaSize</property>
+ <property>MediaLoaded</property>
+ <property>MediaType</property>
+ <property>MfrAssignedRevisionLevel</property>
+ <property>MinBlockSize</property>
+ <property>Name</property>
+ <property>NeedsCleaning</property>
+ <property>NumberOfMediaSupported</property>
+ <property>PNPDeviceID</property>
+ <property>PowerManagementSupported</property>
+ <property>RevisionLevel</property>
+ <property>SCSIBus</property>
+ <property>SCSILogicalUnit</property>
+ <property>SCSIPort</property>
+ <property>SCSITargetId</property>
+ <property>SerialNumber</property>
+ <property>Size</property>
+ <property>Status</property>
+ <property>StatusInfo</property>
+ <property>SystemCreationClassName</property>
+ <property>SystemName</property>
+ <property>TransferRate</property>
+ <property>VolumeName</property>
+ <property>VolumeSerialNumber</property>
+ </Win32_CDROMDrive>
+ <Win32_DiskDrive>
+ <property>Availability</property>
+ <property>BytesPerSector</property>
+ <property>Capabilities[]</property>
+ <property>CapabilityDescriptions[]</property>
+ <property>Caption</property>
+ <property>CompressionMethod</property>
+ <property>ConfigManagerErrorCode</property>
+ <property>ConfigManagerUserConfig</property>
+ <property>CreationClassName</property>
+ <property>DefaultBlockSize</property>
+ <property>Description</property>
+ <property>DeviceID</property>
+ <property>ErrorCleared</property>
+ <property>ErrorDescription</property>
+ <property>ErrorMethodology</property>
+ <property>FirmwareRevision</property>
+ <property>Index</property>
+ <property>InstallDate</property>
+ <property>InterfaceType</property>
+ <property>LastErrorCode</property>
+ <property>Manufacturer</property>
+ <property>MaxBlockSize</property>
+ <property>MaxMediaSize</property>
+ <property>MediaLoaded</property>
+ <property>MediaType</property>
+ <property>MinBlockSize</property>
+ <property>Model</property>
+ <property>Name</property>
+ <property>NeedsCleaning</property>
+ <property>NumberOfMediaSupported</property>
+ <property>Partitions</property>
+ <property>PNPDeviceID</property>
+ <property>PowerManagementCapabilities[]</property>
+ <property>PowerManagementSupported</property>
+ <property>SCSIBus</property>
+ <property>SCSILogicalUnit</property>
+ <property>SCSIPort</property>
+ <property>SCSITargetId</property>
+ <property>SectorsPerTrack</property>
+ <property>SerialNumber</property>
+ <property>Signature</property>
+ <property>Size</property>
+ <property>Status</property>
+ <property>StatusInfo</property>
+ <property>SystemCreationClassName</property>
+ <property>SystemName</property>
+ <property>TotalCylinders</property>
+ <property>TotalHeads</property>
+ <property>TotalSectors</property>
+ <property>TotalTracks</property>
+ <property>TracksPerCylinder</property>
+ </Win32_DiskDrive>
+ <Win32_DMAChannel>
+ <property>16AddressSize</property>
+ <property>16Availability</property>
+ <property>BurstMode</property>
+ <property>16ByteMode</property>
+ <property>Caption</property>
+ <property>16ChannelTiming</property>
+ <property>CreationClassName</property>
+ <property>CSCreationClassName</property>
+ <property>CSName</property>
+ <property>Description</property>
+ <property>32DMAChannel</property>
+ <property>InstallDate</property>
+ <property>32MaxTransferSize</property>
+ <property>Name</property>
+ <property>32Port</property>
+ <property>Status</property>
+ <property>16TransferWidths[]</property>
+ <property>16TypeCTiming</property>
+ <property>16WordMode</property>
+ </Win32_DMAChannel>
+ <Win32_Fan>
+ <property>ActiveCooling</property>
+ <property>Availability</property>
+ <property>Caption</property>
+ <property>ConfigManagerErrorCode</property>
+ <property>ConfigManagerUserConfig</property>
+ <property>CreationClassName</property>
+ <property>Description</property>
+ <property>DesiredSpeed</property>
+ <property>DeviceID</property>
+ <property>ErrorCleared</property>
+ <property>ErrorDescription</property>
+ <property>InstallDate</property>
+ <property>LastErrorCode</property>
+ <property>Name</property>
+ <property>PNPDeviceID</property>
+ <property>PowerManagementCapabilities[]</property>
+ <property>PowerManagementSupported</property>
+ <property>Status</property>
+ <property>StatusInfo</property>
+ <property>SystemCreationClassName</property>
+ <property>SystemName</property>
+ <property>VariableSpeed</property>
+ </Win32_Fan>
+ <Win32_FloppyController>
+ <property>Availability</property>
+ <property>Caption</property>
+ <property>ConfigManagerErrorCode</property>
+ <property>ConfigManagerUserConfig</property>
+ <property>CreationClassName</property>
+ <property>Description</property>
+ <property>DeviceID</property>
+ <property>ErrorCleared</property>
+ <property>ErrorDescription</property>
+ <property>InstallDate</property>
+ <property>LastErrorCode</property>
+ <property>Manufacturer</property>
+ <property>MaxNumberControlled</property>
+ <property>Name</property>
+ <property>PNPDeviceID</property>
+ <property>PowerManagementSupported</property>
+ <property>ProtocolSupported</property>
+ <property>Status</property>
+ <property>StatusInfo</property>
+ <property>SystemCreationClassName</property>
+ <property>SystemName</property>
+ <property>TimeOfLastReset</property>
+ </Win32_FloppyController>
+ <Win32_FloppyDrive>
+ <property>Availability</property>
+ <property>Caption</property>
+ <property>CompressionMethod</property>
+ <property>ConfigManagerErrorCode</property>
+ <property>ConfigManagerUserConfig</property>
+ <property>CreationClassName</property>
+ <property>DefaultBlockSize</property>
+ <property>Description</property>
+ <property>DeviceID</property>
+ <property>ErrorCleared</property>
+ <property>ErrorDescription</property>
+ <property>ErrorMethodology</property>
+ <property>InstallDate</property>
+ <property>LastErrorCode</property>
+ <property>Manufacturer</property>
+ <property>MaxBlockSize</property>
+ <property>MaxMediaSize</property>
+ <property>MinBlockSize</property>
+ <property>Name</property>
+ <property>NeedsCleaning</property>
+ <property>NumberOfMediaSupported</property>
+ <property>PNPDeviceID</property>
+ <property>PowerManagementCapabilities[]</property>
+ <property>PowerManagementSupported</property>
+ <property>Status</property>
+ <property>StatusInfo</property>
+ <property>SystemCreationClassName</property>
+ <property>SystemName</property>
+ </Win32_FloppyDrive>
+ <Win32_IDEController>
+ <property>Availability</property>
+ <property>Caption</property>
+ <property>ConfigManagerErrorCode</property>
+ <property>ConfigManagerUserConfig</property>
+ <property>CreationClassName</property>
+ <property>Description</property>
+ <property>DeviceID</property>
+ <property>ErrorCleared</property>
+ <property>ErrorDescription</property>
+ <property>InstallDate</property>
+ <property>LastErrorCode</property>
+ <property>Manufacturer</property>
+ <property>MaxNumberControlled</property>
+ <property>Name</property>
+ <property>PNPDeviceID</property>
+ <property>PowerManagementCapabilities[]</property>
+ <property>PowerManagementSupported</property>
+ <property>ProtocolSupported</property>
+ <property>Status</property>
+ <property>StatusInfo</property>
+ <property>SystemCreationClassName</property>
+ <property>SystemName</property>
+ <property>TimeOfLastReset</property>
+ </Win32_IDEController>
+ <Win32_IRQResource>
+ <property>Availability</property>
+ <property>Caption</property>
+ <property>CreationClassName</property>
+ <property>CSCreationClassName</property>
+ <property>CSName</property>
+ <property>Description</property>
+ <property>Hardware</property>
+ <property>InstallDate</property>
+ <property>IRQNumber</property>
+ <property>Name</property>
+ <property>Shareable</property>
+ <property>Status</property>
+ <property>TriggerLevel</property>
+ <property>TriggerType</property>
+ <property>Vector</property>
+ </Win32_IRQResource>
+ <Win32_Keyboard>
+ <property>Availability</property>
+ <property>Caption</property>
+ <property>ConfigManagerErrorCode</property>
+ <property>ConfigManagerUserConfig</property>
+ <property>CreationClassName</property>
+ <property>Description</property>
+ <property>DeviceID</property>
+ <property>ErrorCleared</property>
+ <property>ErrorDescription</property>
+ <property>InstallDate</property>
+ <property>IsLocked</property>
+ <property>LastErrorCode</property>
+ <property>Layout</property>
+ <property>Name</property>
+ <property>NumberOfFunctionKeys</property>
+ <property>Password</property>
+ <property>PNPDeviceID</property>
+ <property>PowerManagementSupported</property>
+ <property>Status</property>
+ <property>StatusInfo</property>
+ <property>SystemCreationClassName</property>
+ <property>SystemName</property>
+ </Win32_Keyboard>
+ <Win32_MemoryDevice>
+ <property>Access</property>
+ <property>AdditionalErrorData[]</property>
+ <property>Availability</property>
+ <property>BlockSize</property>
+ <property>Caption</property>
+ <property>ConfigManagerErrorCode</property>
+ <property>ConfigManagerUserConfig</property>
+ <property>CorrectableError</property>
+ <property>CreationClassName</property>
+ <property>Description</property>
+ <property>DeviceID</property>
+ <property>EndingAddress</property>
+ <property>ErrorAccess</property>
+ <property>ErrorAddress</property>
+ <property>ErrorCleared</property>
+ <property>ErrorDataOrder</property>
+ <property>ErrorDescription</property>
+ <property>ErrorGranularity</property>
+ <property>ErrorInfo</property>
+ <property>ErrorMethodology</property>
+ <property>ErrorResolution</property>
+ <property>ErrorTime</property>
+ <property>ErrorTransferSize</property>
+ <property>InstallDate</property>
+ <property>LastErrorCode</property>
+ <property>Name</property>
+ <property>NumberOfBlocks</property>
+ <property>OtherErrorDescription</property>
+ <property>PNPDeviceID</property>
+ <property>PowerManagementCapabilities[]</property>
+ <property>PowerManagementSupported</property>
+ <property>Purpose</property>
+ <property>StartingAddress</property>
+ <property>Status</property>
+ <property>StatusInfo</property>
+ <property>SystemCreationClassName</property>
+ <property>SystemLevelAddress</property>
+ <property>SystemName</property>
+ </Win32_MemoryDevice>
+ <Win32_NetworkAdapter>
+ <property>AdapterType</property>
+ <property>AdapterTypeID</property>
+ <property>AutoSense</property>
+ <property>Availability</property>
+ <property>Caption</property>
+ <property>ConfigManagerErrorCode</property>
+ <property>ConfigManagerUserConfig</property>
+ <property>CreationClassName</property>
+ <property>Description</property>
+ <property>DeviceID</property>
+ <property>ErrorCleared</property>
+ <property>ErrorDescription</property>
+ <property>GUID</property>
+ <property>Index</property>
+ <property>InstallDate</property>
+ <property>Installed</property>
+ <property>InterfaceIndex</property>
+ <property>LastErrorCode</property>
+ <property>MACAddress</property>
+ <property>Manufacturer</property>
+ <property>MaxNumberControlled</property>
+ <property>MaxSpeed</property>
+ <property>Name</property>
+ <property>NetConnectionID</property>
+ <property>NetConnectionStatus</property>
+ <property>NetEnabled</property>
+ <property>NetworkAddresses[]</property>
+ <property>PermanentAddress</property>
+ <property>PhysicalAdapter</property>
+ <property>PNPDeviceID</property>
+ <property>PowerManagementCapabilities[]</property>
+ <property>PowerManagementSupported</property>
+ <property>ProductName</property>
+ <property>ServiceName</property>
+ <property>Speed</property>
+ <property>Status</property>
+ <property>StatusInfo</property>
+ <property>SystemCreationClassName</property>
+ <property>SystemName</property>
+ <property>TimeOfLastReset</property>
+ </Win32_NetworkAdapter>
+ <Win32_NetworkAdapterConfiguration>
+ <property>ArpAlwaysSourceRoute</property>
+ <property>ArpUseEtherSNAP</property>
+ <property>Caption</property>
+ <property>DatabasePath</property>
+ <property>DeadGWDetectEnabled</property>
+ <property>DefaultIPGateway[]</property>
+ <property>DefaultTOS</property>
+ <property>DefaultTTL</property>
+ <property>Description</property>
+ <property>DHCPEnabled</property>
+ <property>DHCPLeaseExpires</property>
+ <property>DHCPLeaseObtained</property>
+ <property>DHCPServer</property>
+ <property>DNSDomain</property>
+ <property>DNSDomainSuffixSearchOrder[]</property>
+ <property>DNSEnabledForWINSResolution</property>
+ <property>DNSHostName</property>
+ <property>DNSServerSearchOrder[]</property>
+ <property>DomainDNSRegistrationEnabled</property>
+ <property>ForwardBufferMemory</property>
+ <property>FullDNSRegistrationEnabled</property>
+ <property>GatewayCostMetric[]</property>
+ <property>IGMPLevel</property>
+ <property>Index</property>
+ <property>InterfaceIndex</property>
+ <property>IPAddress[]</property>
+ <property>IPConnectionMetric</property>
+ <property>IPEnabled</property>
+ <property>IPFilterSecurityEnabled</property>
+ <property>IPPortSecurityEnabled</property>
+ <property>IPSecPermitIPProtocols[]</property>
+ <property>IPSecPermitTCPPorts[]</property>
+ <property>IPSecPermitUDPPorts[]</property>
+ <property>IPSubnet[]</property>
+ <property>IPUseZeroBroadcast</property>
+ <property>IPXAddress</property>
+ <property>IPXEnabled</property>
+ <property>IPXFrameType[]</property>
+ <property>IPXMediaType</property>
+ <property>IPXNetworkNumber[]</property>
+ <property>IPXVirtualNetNumber</property>
+ <property>KeepAliveInterval</property>
+ <property>KeepAliveTime</property>
+ <property>MACAddress</property>
+ <property>MTU</property>
+ <property>NumForwardPackets</property>
+ <property>PMTUBHDetectEnabled</property>
+ <property>PMTUDiscoveryEnabled</property>
+ <property>ServiceName</property>
+ <property>SettingID</property>
+ <property>TcpipNetbiosOptions</property>
+ <property>TcpMaxConnectRetransmissions</property>
+ <property>TcpMaxDataRetransmissions</property>
+ <property>TcpNumConnections</property>
+ <property>TcpUseRFC1122UrgentPointer</property>
+ <property>TcpWindowSize</property>
+ <property>WINSEnableLMHostsLookup</property>
+ <property>WINSHostLookupFile</property>
+ <property>WINSPrimaryServer</property>
+ <property>WINSScopeID</property>
+ <property>WINSSecondaryServer</property>
+ </Win32_NetworkAdapterConfiguration>
+ <Win32_OnBoardDevice>
+ <property>Caption</property>
+ <property>CreationClassName</property>
+ <property>Description</property>
+ <property>DeviceType</property>
+ <property>Enabled</property>
+ <property>HotSwappable</property>
+ <property>InstallDate</property>
+ <property>Manufacturer</property>
+ <property>Model</property>
+ <property>Name</property>
+ <property>OtherIdentifyingInfo</property>
+ <property>PartNumber</property>
+ <property>PoweredOn</property>
+ <property>Removable</property>
+ <property>Replaceable</property>
+ <property>SerialNumber</property>
+ <property>SKU</property>
+ <property>Status</property>
+ <property>Tag</property>
+ <property>Version</property>
+ </Win32_OnBoardDevice>
+ <Win32_ParallelPort>
+ <property>Availability</property>
+ <property>Capabilities[]</property>
+ <property>CapabilityDescriptions[]</property>
+ <property>Caption</property>
+ <property>ConfigManagerErrorCode</property>
+ <property>ConfigManagerUserConfig</property>
+ <property>CreationClassName</property>
+ <property>Description</property>
+ <property>DeviceID</property>
+ <property>DMASupport</property>
+ <property>ErrorCleared</property>
+ <property>ErrorDescription</property>
+ <property>InstallDate</property>
+ <property>LastErrorCode</property>
+ <property>MaxNumberControlled</property>
+ <property>Name</property>
+ <property>OSAutoDiscovered</property>
+ <property>PNPDeviceID</property>
+ <property>PowerManagementCapabilities[]</property>
+ <property>PowerManagementSupported</property>
+ <property>ProtocolSupported</property>
+ <property>Status</property>
+ <property>StatusInfo</property>
+ <property>SystemCreationClassName</property>
+ <property>SystemName</property>
+ <property>TimeOfLastReset</property>
+ </Win32_ParallelPort>
+ <Win32_PCMCIAController>
+ <property>Availability</property>
+ <property>Caption</property>
+ <property>ConfigManagerErrorCode</property>
+ <property>ConfigManagerUserConfig</property>
+ <property>CreationClassName</property>
+ <property>Description</property>
+ <property>DeviceID</property>
+ <property>ErrorCleared</property>
+ <property>ErrorDescription</property>
+ <property>InstallDate</property>
+ <property>LastErrorCode</property>
+ <property>Manufacturer</property>
+ <property>MaxNumberControlled</property>
+ <property>Name</property>
+ <property>PNPDeviceID</property>
+ <property>PowerManagementCapabilities[]</property>
+ <property>PowerManagementSupported</property>
+ <property>ProtocolSupported</property>
+ <property>Status</property>
+ <property>StatusInfo</property>
+ <property>SystemCreationClassName</property>
+ <property>SystemName</property>
+ <property>TimeOfLastReset</property>
+ </Win32_PCMCIAController>
+ <Win32_PhysicalMedia>
+ <property>Caption</property>
+ <property>Description</property>
+ <property>InstallDate</property>
+ <property>Name</property>
+ <property>Status</property>
+ <property>CreationClassName</property>
+ <property>Manufacturer</property>
+ <property>Model</property>
+ <property>SKU</property>
+ <property>SerialNumber</property>
+ <property>Tag</property>
+ <property>Version</property>
+ <property>PartNumber</property>
+ <property>OtherIdentifyingInfo</property>
+ <property>PoweredOn</property>
+ <property>Removable</property>
+ <property>Replaceable</property>
+ <property>HotSwappable</property>
+ <property>Capacity</property>
+ <property>MediaType</property>
+ <property>MediaDescription</property>
+ <property>WriteProtectOn</property>
+ <property>CleanerMedia</property>
+ </Win32_PhysicalMedia>
+ <Win32_PhysicalMemory>
+ <property>BankLabel</property>
+ <property>Capacity</property>
+ <property>Caption</property>
+ <property>CreationClassName</property>
+ <property>DataWidth</property>
+ <property>Description</property>
+ <property>DeviceLocator</property>
+ <property>FormFactor</property>
+ <property>HotSwappable</property>
+ <property>InstallDate</property>
+ <property>InterleaveDataDepth</property>
+ <property>InterleavePosition</property>
+ <property>Manufacturer</property>
+ <property>MemoryType</property>
+ <property>Model</property>
+ <property>Name</property>
+ <property>OtherIdentifyingInfo</property>
+ <property>PartNumber</property>
+ <property>PositionInRow</property>
+ <property>PoweredOn</property>
+ <property>Removable</property>
+ <property>Replaceable</property>
+ <property>SerialNumber</property>
+ <property>SKU</property>
+ <property>Speed</property>
+ <property>Status</property>
+ <property>Tag</property>
+ <property>TotalWidth</property>
+ <property>TypeDetail</property>
+ <property>Version</property>
+ </Win32_PhysicalMemory>
+ <Win32_PortConnector>
+ <property>Caption</property>
+ <property>ConnectorPinout</property>
+ <property>ConnectorType[]</property>
+ <property>CreationClassName</property>
+ <property>Description</property>
+ <property>ExternalReferenceDesignator</property>
+ <property>InstallDate</property>
+ <property>InternalReferenceDesignator</property>
+ <property>Manufacturer</property>
+ <property>Model</property>
+ <property>Name</property>
+ <property>OtherIdentifyingInfo</property>
+ <property>PartNumber</property>
+ <property>PortType</property>
+ <property>PoweredOn</property>
+ <property>SerialNumber</property>
+ <property>SKU</property>
+ <property>Status</property>
+ <property>Tag</property>
+ <property>Version</property>
+ </Win32_PortConnector>
+ <Win32_PortResource>
+ <property>Alias</property>
+ <property>Caption</property>
+ <property>CreationClassName</property>
+ <property>CSCreationClassName</property>
+ <property>CSName</property>
+ <property>Description</property>
+ <property>EndingAddress</property>
+ <property>InstallDate</property>
+ <property>Name</property>
+ <property>StartingAddress</property>
+ <property>Status</property>
+ </Win32_PortResource>
+ <Win32_POTSModem>
+ <property>AnswerMode</property>
+ <property>AttachedTo</property>
+ <property>Availability</property>
+ <property>BlindOff</property>
+ <property>BlindOn</property>
+ <property>Caption</property>
+ <property>CompatibilityFlags</property>
+ <property>CompressionInfo</property>
+ <property>CompressionOff</property>
+ <property>CompressionOn</property>
+ <property>ConfigManagerErrorCode</property>
+ <property>ConfigManagerUserConfig</property>
+ <property>ConfigurationDialog</property>
+ <property>CountriesSupported[]</property>
+ <property>CountrySelected</property>
+ <property>CreationClassName</property>
+ <property>CurrentPasswords[]</property>
+ <property>DCB[]</property>
+ <property>Default[]</property>
+ <property>Description</property>
+ <property>DeviceID</property>
+ <property>DeviceLoader</property>
+ <property>DeviceType</property>
+ <property>DialType</property>
+ <property>DriverDate</property>
+ <property>ErrorCleared</property>
+ <property>ErrorControlForced</property>
+ <property>ErrorControlInfo</property>
+ <property>ErrorControlOff</property>
+ <property>ErrorControlOn</property>
+ <property>ErrorDescription</property>
+ <property>FlowControlHard</property>
+ <property>FlowControlOff</property>
+ <property>FlowControlSoft</property>
+ <property>InactivityScale</property>
+ <property>InactivityTimeout</property>
+ <property>Index</property>
+ <property>InstallDate</property>
+ <property>LastErrorCode</property>
+ <property>MaxBaudRateToPhone</property>
+ <property>MaxBaudRateToSerialPort</property>
+ <property>MaxNumberOfPasswords</property>
+ <property>Model</property>
+ <property>ModemInfPath</property>
+ <property>ModemInfSection</property>
+ <property>ModulationBell</property>
+ <property>ModulationCCITT</property>
+ <property>ModulationScheme</property>
+ <property>Name</property>
+ <property>PNPDeviceID</property>
+ <property>PortSubClass</property>
+ <property>PowerManagementCapabilities[]</property>
+ <property>PowerManagementSupported</property>
+ <property>Prefix</property>
+ <property>Properties[]</property>
+ <property>ProviderName</property>
+ <property>Pulse</property>
+ <property>Reset</property>
+ <property>ResponsesKeyName</property>
+ <property>RingsBeforeAnswer</property>
+ <property>SpeakerModeDial</property>
+ <property>SpeakerModeOff</property>
+ <property>SpeakerModeOn</property>
+ <property>SpeakerModeSetup</property>
+ <property>SpeakerVolumeHigh</property>
+ <property>SpeakerVolumeInfo</property>
+ <property>SpeakerVolumeLow</property>
+ <property>SpeakerVolumeMed</property>
+ <property>Status</property>
+ <property>StatusInfo</property>
+ <property>StringFormat</property>
+ <property>SupportsCallback</property>
+ <property>SupportsSynchronousConnect</property>
+ <property>SystemCreationClassName</property>
+ <property>SystemName</property>
+ <property>Terminator</property>
+ <property>TimeOfLastReset</property>
+ <property>Tone</property>
+ <property>VoiceSwitchFeature</property>
+ </Win32_POTSModem>
+ <Win32_Processor>
+ <property>AddressWidth</property>
+ <property>Architecture</property>
+ <property>Availability</property>
+ <property>Caption</property>
+ <property>ConfigManagerErrorCode</property>
+ <property>ConfigManagerUserConfig</property>
+ <property>CpuStatus</property>
+ <property>CreationClassName</property>
+ <property>CurrentClockSpeed</property>
+ <property>CurrentVoltage</property>
+ <property>DataWidth</property>
+ <property>Description</property>
+ <property>DeviceID</property>
+ <property>ErrorCleared</property>
+ <property>ErrorDescription</property>
+ <property>ExtClock</property>
+ <property>Family</property>
+ <property>InstallDate</property>
+ <property>L2CacheSize</property>
+ <property>L2CacheSpeed</property>
+ <property>L3CacheSize</property>
+ <property>L3CacheSpeed</property>
+ <property>LastErrorCode</property>
+ <property>Level</property>
+ <property>LoadPercentage</property>
+ <property>Manufacturer</property>
+ <property>MaxClockSpeed</property>
+ <property>Name</property>
+ <property>NumberOfCores</property>
+ <property>NumberOfLogicalProcessors</property>
+ <property>OtherFamilyDescription</property>
+ <property>PNPDeviceID</property>
+ <property>PowerManagementSupported</property>
+ <property>ProcessorId</property>
+ <property>ProcessorType</property>
+ <property>Revision</property>
+ <property>Role</property>
+ <property>SocketDesignation</property>
+ <property>Status</property>
+ <property>StatusInfo</property>
+ <property>Stepping</property>
+ <property>SystemCreationClassName</property>
+ <property>SystemName</property>
+ <property>UniqueId</property>
+ <property>UpgradeMethod</property>
+ <property>Version</property>
+ <property>VoltageCaps</property>
+ </Win32_Processor>
+ <Win32_SCSIController>
+ <property>Availability</property>
+ <property>Caption</property>
+ <property>ConfigManagerErrorCode</property>
+ <property>ConfigManagerUserConfig</property>
+ <property>ControllerTimeouts</property>
+ <property>CreationClassName</property>
+ <property>Description</property>
+ <property>DeviceID</property>
+ <property>DeviceMap</property>
+ <property>DriverName</property>
+ <property>ErrorCleared</property>
+ <property>ErrorDescription</property>
+ <property>HardwareVersion</property>
+ <property>Index</property>
+ <property>InstallDate</property>
+ <property>LastErrorCode</property>
+ <property>Manufacturer</property>
+ <property>MaxDataWidth</property>
+ <property>MaxNumberControlled</property>
+ <property>MaxTransferRate</property>
+ <property>Name</property>
+ <property>PNPDeviceID</property>
+ <property>PowerManagementCapabilities[]</property>
+ <property>PowerManagementSupported</property>
+ <property>ProtectionManagement</property>
+ <property>ProtocolSupported</property>
+ <property>Status</property>
+ <property>StatusInfo</property>
+ <property>SystemCreationClassName</property>
+ <property>SystemName</property>
+ <property>TimeOfLastReset</property>
+ </Win32_SCSIController>
+ <Win32_SerialPort>
+ <property>Availability</property>
+ <property>Binary</property>
+ <property>Capabilities[]</property>
+ <property>CapabilityDescriptions[]</property>
+ <property>Caption</property>
+ <property>ConfigManagerErrorCode</property>
+ <property>ConfigManagerUserConfig</property>
+ <property>CreationClassName</property>
+ <property>Description</property>
+ <property>DeviceID</property>
+ <property>ErrorCleared</property>
+ <property>ErrorDescription</property>
+ <property>InstallDate</property>
+ <property>LastErrorCode</property>
+ <property>MaxBaudRate</property>
+ <property>MaximumInputBufferSize</property>
+ <property>MaximumOutputBufferSize</property>
+ <property>MaxNumberControlled</property>
+ <property>Name</property>
+ <property>OSAutoDiscovered</property>
+ <property>PNPDeviceID</property>
+ <property>PowerManagementCapabilities[]</property>
+ <property>PowerManagementSupported</property>
+ <property>ProtocolSupported</property>
+ <property>ProviderType</property>
+ <property>SettableBaudRate</property>
+ <property>SettableDataBits</property>
+ <property>SettableFlowControl</property>
+ <property>SettableParity</property>
+ <property>SettableParityCheck</property>
+ <property>SettableRLSD</property>
+ <property>SettableStopBits</property>
+ <property>Status</property>
+ <property>StatusInfo</property>
+ <property>Supports16BitMode</property>
+ <property>SupportsDTRDSR</property>
+ <property>SupportsElapsedTimeouts</property>
+ <property>SupportsIntTimeouts</property>
+ <property>SupportsParityCheck</property>
+ <property>SupportsRLSD</property>
+ <property>SupportsRTSCTS</property>
+ <property>SupportsSpecialCharacters</property>
+ <property>SupportsXOnXOff</property>
+ <property>SupportsXOnXOffSet</property>
+ <property>SystemCreationClassName</property>
+ <property>SystemName</property>
+ <property>TimeOfLastReset</property>
+ </Win32_SerialPort>
+ <Win32_SerialPortConfiguration>
+ <property>AbortReadWriteOnError</property>
+ <property>BaudRate</property>
+ <property>BinaryModeEnabled</property>
+ <property>BitsPerByte</property>
+ <property>Caption</property>
+ <property>ContinueXMitOnXOff</property>
+ <property>CTSOutflowControl</property>
+ <property>Description</property>
+ <property>DiscardNULLBytes</property>
+ <property>DSROutflowControl</property>
+ <property>DSRSensitivity</property>
+ <property>DTRFlowControlType</property>
+ <property>EOFCharacter</property>
+ <property>ErrorReplaceCharacter</property>
+ <property>ErrorReplacementEnabled</property>
+ <property>EventCharacter</property>
+ <property>IsBusy</property>
+ <property>Name</property>
+ <property>Parity</property>
+ <property>ParityCheckEnabled</property>
+ <property>RTSFlowControlType</property>
+ <property>SettingID</property>
+ <property>StopBits</property>
+ <property>XOffCharacter</property>
+ <property>XOffXMitThreshold</property>
+ <property>XOnCharacter</property>
+ <property>XOnXMitThreshold</property>
+ <property>XOnXOffInFlowControl</property>
+ <property>XOnXOffOutFlowControl</property>
+ </Win32_SerialPortConfiguration>
+ <Win32_SoundDevice>
+ <property>Availability</property>
+ <property>Caption</property>
+ <property>ConfigManagerErrorCode</property>
+ <property>ConfigManagerUserConfig</property>
+ <property>CreationClassName</property>
+ <property>Description</property>
+ <property>DeviceID</property>
+ <property>DMABufferSize</property>
+ <property>ErrorCleared</property>
+ <property>ErrorDescription</property>
+ <property>InstallDate</property>
+ <property>LastErrorCode</property>
+ <property>Manufacturer</property>
+ <property>MPU401Address</property>
+ <property>Name</property>
+ <property>PNPDeviceID</property>
+ <property>PowerManagementCapabilities[]</property>
+ <property>PowerManagementSupported</property>
+ <property>ProductName</property>
+ <property>Status</property>
+ <property>StatusInfo</property>
+ <property>SystemCreationClassName</property>
+ <property>SystemName</property>
+ </Win32_SoundDevice>
+ <Win32_SystemEnclosure>
+ <property>AudibleAlarm</property>
+ <property>BreachDescription</property>
+ <property>CableManagementStrategy</property>
+ <property>Caption</property>
+ <property>ChassisTypes[]</property>
+ <property>CreationClassName</property>
+ <property>CurrentRequiredOrProduced</property>
+ <property>Depth</property>
+ <property>Description</property>
+ <property>HeatGeneration</property>
+ <property>Height</property>
+ <property>HotSwappable</property>
+ <property>InstallDate</property>
+ <property>LockPresent</property>
+ <property>Manufacturer</property>
+ <property>Model</property>
+ <property>Name</property>
+ <property>NumberOfPowerCords</property>
+ <property>OtherIdentifyingInfo</property>
+ <property>PartNumber</property>
+ <property>PoweredOn</property>
+ <property>Removable</property>
+ <property>Replaceable</property>
+ <property>SecurityBreach</property>
+ <property>SecurityStatus</property>
+ <property>SerialNumber</property>
+ <property>ServiceDescriptions[]</property>
+ <property>ServicePhilosophy[]</property>
+ <property>SKU</property>
+ <property>SMBIOSAssetTag</property>
+ <property>Status</property>
+ <property>Tag</property>
+ <property>TypeDescriptions[]</property>
+ <property>Version</property>
+ <property>VisibleAlarm</property>
+ <property>Weight</property>
+ <property>Width</property>
+ </Win32_SystemEnclosure>
+ <Win32_TapeDrive>
+ <property>Availability</property>
+ <property>Capabilities[]</property>
+ <property>CapabilityDescriptions[]</property>
+ <property>Caption</property>
+ <property>Compression</property>
+ <property>CompressionMethod</property>
+ <property>ConfigManagerErrorCode</property>
+ <property>ConfigManagerUserConfig</property>
+ <property>CreationClassName</property>
+ <property>DefaultBlockSize</property>
+ <property>Description</property>
+ <property>DeviceID</property>
+ <property>ECC</property>
+ <property>EOTWarningZoneSize</property>
+ <property>ErrorCleared</property>
+ <property>ErrorDescription</property>
+ <property>ErrorMethodology</property>
+ <property>FeaturesHigh</property>
+ <property>FeaturesLow</property>
+ <property>Id</property>
+ <property>InstallDate</property>
+ <property>LastErrorCode</property>
+ <property>Manufacturer</property>
+ <property>MaxBlockSize</property>
+ <property>MaxMediaSize</property>
+ <property>MaxPartitionCount</property>
+ <property>MediaType</property>
+ <property>MinBlockSize</property>
+ <property>Name</property>
+ <property>NeedsCleaning</property>
+ <property>NumberOfMediaSupported</property>
+ <property>Padding</property>
+ <property>PNPDeviceID</property>
+ <property>PowerManagementCapabilities[]</property>
+ <property>PowerManagementSupported</property>
+ <property>ReportSetMarks</property>
+ <property>Status</property>
+ <property>StatusInfo</property>
+ <property>SystemCreationClassName</property>
+ <property>SystemName</property>
+ </Win32_TapeDrive>
+ <Win32_TemperatureProbe>
+ <property>Accuracy</property>
+ <property>Availability</property>
+ <property>Caption</property>
+ <property>ConfigManagerErrorCode</property>
+ <property>ConfigManagerUserConfig</property>
+ <property>CreationClassName</property>
+ <property>CurrentReading</property>
+ <property>Description</property>
+ <property>DeviceID</property>
+ <property>ErrorCleared</property>
+ <property>ErrorDescription</property>
+ <property>InstallDate</property>
+ <property>IsLinear</property>
+ <property>LastErrorCode</property>
+ <property>LowerThresholdCritical</property>
+ <property>LowerThresholdFatal</property>
+ <property>LowerThresholdNonCritical</property>
+ <property>MaxReadable</property>
+ <property>MinReadable</property>
+ <property>Name</property>
+ <property>NominalReading</property>
+ <property>NormalMax</property>
+ <property>NormalMin</property>
+ <property>PNPDeviceID</property>
+ <property>PowerManagementCapabilities[]</property>
+ <property>PowerManagementSupported</property>
+ <property>Resolution</property>
+ <property>Status</property>
+ <property>StatusInfo</property>
+ <property>SystemCreationClassName</property>
+ <property>SystemName</property>
+ <property>Tolerance</property>
+ <property>UpperThresholdCritical</property>
+ <property>UpperThresholdFatal</property>
+ <property>UpperThresholdNonCritical</property>
+ </Win32_TemperatureProbe>
+ <Win32_UninterruptiblePowerSupply>
+ <property>ActiveInputVoltage</property>
+ <property>Availability</property>
+ <property>BatteryInstalled</property>
+ <property>CanTurnOffRemotely</property>
+ <property>Caption</property>
+ <property>CommandFile</property>
+ <property>ConfigManagerErrorCode</property>
+ <property>ConfigManagerUserConfig</property>
+ <property>CreationClassName</property>
+ <property>Description</property>
+ <property>DeviceID</property>
+ <property>ErrorCleared</property>
+ <property>ErrorDescription</property>
+ <property>EstimatedChargeRemaining</property>
+ <property>EstimatedRunTime</property>
+ <property>FirstMessageDelay</property>
+ <property>InstallDate</property>
+ <property>IsSwitchingSupply</property>
+ <property>LastErrorCode</property>
+ <property>LowBatterySignal</property>
+ <property>MessageInterval</property>
+ <property>Name</property>
+ <property>PNPDeviceID</property>
+ <property>PowerFailSignal</property>
+ <property>PowerManagementCapabilities[]</property>
+ <property>PowerManagementSupported</property>
+ <property>Range1InputFrequencyHigh</property>
+ <property>Range1InputFrequencyLow</property>
+ <property>Range1InputVoltageHigh</property>
+ <property>Range1InputVoltageLow</property>
+ <property>Range2InputFrequencyHigh</property>
+ <property>Range2InputFrequencyLow</property>
+ <property>Range2InputVoltageHigh</property>
+ <property>Range2InputVoltageLow</property>
+ <property>RemainingCapacityStatus</property>
+ <property>Status</property>
+ <property>StatusInfo</property>
+ <property>SystemCreationClassName</property>
+ <property>SystemName</property>
+ <property>TimeOnBackup</property>
+ <property>TotalOutputPower</property>
+ <property>TypeOfRangeSwitching</property>
+ <property>UPSPort</property>
+ </Win32_UninterruptiblePowerSupply>
+ <Win32_USBController>
+ <property>Availability</property>
+ <property>Caption</property>
+ <property>ConfigManagerErrorCode</property>
+ <property>ConfigManagerUserConfig</property>
+ <property>CreationClassName</property>
+ <property>Description</property>
+ <property>DeviceID</property>
+ <property>ErrorCleared</property>
+ <property>ErrorDescription</property>
+ <property>InstallDate</property>
+ <property>LastErrorCode</property>
+ <property>Manufacturer</property>
+ <property>MaxNumberControlled</property>
+ <property>Name</property>
+ <property>PNPDeviceID</property>
+ <property>PowerManagementCapabilities[]</property>
+ <property>PowerManagementSupported</property>
+ <property>ProtocolSupported</property>
+ <property>Status</property>
+ <property>StatusInfo</property>
+ <property>SystemCreationClassName</property>
+ <property>SystemName</property>
+ <property>TimeOfLastReset</property>
+ </Win32_USBController>
+ <Win32_USBHub>
+ <property>Availability</property>
+ <property>Caption</property>
+ <property>ClassCode</property>
+ <property>ConfigManagerErrorCode</property>
+ <property>ConfigManagerUserCode</property>
+ <property>CreationClassName</property>
+ <property>CurrentAlternativeSettings</property>
+ <property>CurrentConfigValue</property>
+ <property>Description</property>
+ <property>DeviceID</property>
+ <property>ErrorCleared</property>
+ <property>ErrorDescription</property>
+ <property>GangSwitched</property>
+ <property>InstallDate</property>
+ <property>LastErrorCode</property>
+ <property>Name</property>
+ <property>NumberOfConfigs</property>
+ <property>NumberOfPorts</property>
+ <property>PNPDeviceID</property>
+ <property>PowerManagementCapabilities[]</property>
+ <property>PowerManagementSupported</property>
+ <property>ProtocolCode</property>
+ <property>Status</property>
+ <property>StatusInfo</property>
+ <property>SubclassCode</property>
+ <property>SystemCreationClassName</property>
+ <property>SystemName</property>
+ <property>USBVersion</property>
+ </Win32_USBHub>
+ <Win32_VideoController>
+ <property>AcceleratorCapabilities[]</property>
+ <property>AdapterCompatibility</property>
+ <property>AdapterDACType</property>
+ <property>AdapterRAM</property>
+ <property>Availability</property>
+ <property>CapabilityDescriptions[]</property>
+ <property>Caption</property>
+ <property>ColorTableEntries</property>
+ <property>ConfigManagerErrorCode</property>
+ <property>ConfigManagerUserConfig</property>
+ <property>CreationClassName</property>
+ <property>CurrentBitsPerPixel</property>
+ <property>CurrentHorizontalResolution</property>
+ <property>CurrentNumberOfColors</property>
+ <property>CurrentNumberOfColumns</property>
+ <property>CurrentNumberOfRows</property>
+ <property>CurrentRefreshRate</property>
+ <property>CurrentScanMode</property>
+ <property>CurrentVerticalResolution</property>
+ <property>Description</property>
+ <property>DeviceID</property>
+ <property>DeviceSpecificPens</property>
+ <property>DitherType</property>
+ <property>DriverDate</property>
+ <property>DriverVersion</property>
+ <property>ErrorCleared</property>
+ <property>ErrorDescription</property>
+ <property>ICMIntent</property>
+ <property>ICMMethod</property>
+ <property>InfFilename</property>
+ <property>InfSection</property>
+ <property>InstallDate</property>
+ <property>InstalledDisplayDrivers</property>
+ <property>LastErrorCode</property>
+ <property>MaxMemorySupported</property>
+ <property>MaxNumberControlled</property>
+ <property>MaxRefreshRate</property>
+ <property>MinRefreshRate</property>
+ <property>Monochrome</property>
+ <property>Name</property>
+ <property>NumberOfColorPlanes</property>
+ <property>NumberOfVideoPages</property>
+ <property>PNPDeviceID</property>
+ <property>PowerManagementCapabilities[]</property>
+ <property>PowerManagementSupported</property>
+ <property>ProtocolSupported</property>
+ <property>ReservedSystemPaletteEntries</property>
+ <property>SpecificationVersion</property>
+ <property>Status</property>
+ <property>StatusInfo</property>
+ <property>SystemCreationClassName</property>
+ <property>SystemName</property>
+ <property>SystemPaletteEntries</property>
+ <property>TimeOfLastReset</property>
+ <property>VideoArchitecture</property>
+ <property>VideoMemoryType</property>
+ <property>VideoMode</property>
+ <property>VideoModeDescription</property>
+ <property>VideoProcessor</property>
+ </Win32_VideoController>
+ <Win32_VoltageProbe>
+ <property>Accuracy</property>
+ <property>Availability</property>
+ <property>Caption</property>
+ <property>ConfigManagerErrorCode</property>
+ <property>ConfigManagerUserConfig</property>
+ <property>CreationClassName</property>
+ <property>CurrentReading</property>
+ <property>Description</property>
+ <property>DeviceID</property>
+ <property>ErrorCleared</property>
+ <property>ErrorDescription</property>
+ <property>InstallDate</property>
+ <property>IsLinear</property>
+ <property>LastErrorCode</property>
+ <property>LowerThresholdCritical</property>
+ <property>LowerThresholdFatal</property>
+ <property>LowerThresholdNonCritical</property>
+ <property>MaxReadable</property>
+ <property>MinReadable</property>
+ <property>Name</property>
+ <property>NominalReading</property>
+ <property>NormalMax</property>
+ <property>NormalMin</property>
+ <property>PNPDeviceID</property>
+ <property>PowerManagementCapabilities[]</property>
+ <property>PowerManagementSupported</property>
+ <property>Resolution</property>
+ <property>Status</property>
+ <property>StatusInfo</property>
+ <property>SystemCreationClassName</property>
+ <property>SystemName</property>
+ <property>Tolerance</property>
+ <property>UpperThresholdCritical</property>
+ <property>UpperThresholdFatal</property>
+ <property>UpperThresholdNonCritical</property>
+ </Win32_VoltageProbe>
+
+ </WMI>
+
+</AppSettings>
+