Click or drag to resize

ProcessorInfoProvider Class

Processor Information Provider.
Inheritance Hierarchy
SystemObject
  Xcalibur.WMI.FrameworkWmiModelBaseIProcessorInfo, ProcessorInfo
    Xcalibur.WMI.FrameworkWmiPullModelBaseIProcessorInfo, ProcessorInfo
      Xcalibur.WMI.Hardware.ProcessorProcessorInfoProvider

Namespace:  Xcalibur.WMI.Hardware.Processor
Assembly:  Xcalibur.WMI (in Xcalibur.WMI.dll) Version: 3.0.0.0 (3.0.1.0)
Syntax
public sealed class ProcessorInfoProvider : WmiPullModelBase<IProcessorInfo, ProcessorInfo>, 
	IProcessorInfoProvider, IWmiPullModelBase<IProcessorInfo>, IWmiModelBase<IProcessorInfo>, 
	IDisposable

The ProcessorInfoProvider type exposes the following members.

Constructors
  NameDescription
Public methodCode exampleProcessorInfoProvider
Initializes a new instance of the ProcessorInfoProvider class.
Top
Properties
  NameDescription
Public propertyId
Gets or sets the id.
(Inherited from WmiModelBaseTData, TDataModel.)
Public propertyQuery
Gets or sets the query.
(Inherited from WmiPullModelBaseTData, TDataModel.)
Public propertyQueryBuilder
Gets or sets the query items.

Note: This is only used for Pull implementations.

(Inherited from WmiModelBaseTData, TDataModel.)
Public propertyResults
List of results from GetResults or GetResultsAsync. This has been made public in the event that an alternate method will be used outside of this class.
(Inherited from WmiModelBaseTData, TDataModel.)
Public propertySearcher
The ManagementSeacherObject affiliates with the specific WMI class used when pulling data.
(Inherited from WmiPullModelBaseTData, TDataModel.)
Public propertyWmiClass
WMI class that corresponds to the searcher.
(Inherited from WmiModelBaseTData, TDataModel.)
Top
Methods
  NameDescription
Public methodDispose
Implement IDisposable. Do not make this method virtual. A derived class should not be able to override this method.
(Inherited from WmiModelBaseTData, TDataModel.)
Public methodDispose(Boolean)
Dispose(bool disposing) executes in two distinct scenarios. If disposing equals true, the method has been called directly or indirectly by a user's code. Managed and unmanaged resources can be disposed. If disposing equals false, the method has been called by the runtime from inside the finalizer and you should not reference other objects. Only unmanaged resources can be disposed.
(Inherited from WmiPullModelBaseTData, TDataModel.)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public methodGet
Gets the specified object.
(Inherited from WmiModelBaseTData, TDataModel.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodPull
Gets the results.
(Inherited from WmiPullModelBaseTData, TDataModel.)
Public methodRefresh
Performs a Get operation on the current data. Note: It is expected that this method is overridden. Utilizes
(Overrides WmiPullModelBaseTData, TDataModelRefresh.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodUpdate(Int32)
Updates this instance.
(Inherited from WmiPullModelBaseTData, TDataModel.)
Public methodUpdateTConfig(TConfig, Int32)
Updates the specified configuration.
(Inherited from WmiModelBaseTData, TDataModel.)
Top
Examples
C#
 1// Main
 2private static void Main()
 3{
 4    // Make a connection to the local machine
 5    const string computer = ".";
 6    var managementScope = new ManagementScope($@"\\{computer}\root\cimv2", new ConnectionOptions
 7    {
 8        Impersonation = ImpersonationLevel.Impersonate,
 9        Authentication = AuthenticationLevel.Connect
10    });
11    managementScope.Connect();
12
13    // Processor Info Provider
14    var provider = new ProcessorInfoProvider(managementScope);
15
16    // Fetch data
17    provider.Refresh();
18
19    // Print
20    foreach (var info in provider.Results)
21    {
22        Console.WriteLine($"Name: \t\t\t{info.Name}");
23        Console.WriteLine($"Manufacturer: \t\t{info.Manufacturer}");
24        Console.WriteLine($"Architecture: \t\tx{info.Architecture}");
25        Console.WriteLine($"ProcessorId: \t\t{info.ProcessorId}");
26        Console.WriteLine($"Revision: \t\t{info.Revision}");
27        Console.WriteLine($"Speed: \t\t\t{info.Speed} MHz");
28        Console.WriteLine($"Cores: \t\t\t{info.Cores}");
29        Console.WriteLine($"Count: \t\t\t{info.Count}");
30        Console.WriteLine($"L2CacheSize: \t\t{info.L2CacheSize} KB");
31        Console.WriteLine($"L3CacheSize: \t\t{info.L3CacheSize} KB");
32        Console.WriteLine($"IsHyperThreaded: \t{info.IsHyperThreaded}");
33        Console.WriteLine($"SocketDesignation: \t{info.SocketDesignation}");
34        Console.WriteLine("");
35    }
36
37    // Read
38    Console.Read();
39}
40
41/* Results (Skylake i7-6700K): 
42 * 
43 * Name:                   Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
44 * Manufacturer:           GenuineIntel
45 * Architecture:           x64
46 * ProcessorId:            BFEBFBFF000506E3
47 * Revision:               24067
48 * Speed:                  4008 MHz
49 * Cores:                  4
50 * Count:                  1
51 * L2CacheSize:            1024 KB
52 * L3CacheSize:            8192 KB
53 * IsHyperThreaded:        True
54 * SocketDesignation:      LGA1151
55 * 
56 */
See Also