Click or drag to resize

ProcessPerfDataProvider Class

Processor Data Information Provider.
Inheritance Hierarchy
SystemObject
  Xcalibur.WMI.FrameworkWmiModelBaseIProcessPerfDataInfo, ProcessPerfDataInfo
    Xcalibur.WMI.FrameworkWmiPullModelBaseIProcessPerfDataInfo, ProcessPerfDataInfo
      Xcalibur.WMI.ProcessesProcessPerfDataProvider

Namespace:  Xcalibur.WMI.Processes
Assembly:  Xcalibur.WMI (in Xcalibur.WMI.dll) Version: 3.0.0.0 (3.0.1.0)
Syntax
public sealed class ProcessPerfDataProvider : WmiPullModelBase<IProcessPerfDataInfo, ProcessPerfDataInfo>, 
	IProcessPerfDataProvider, IWmiPullModelBase<IProcessPerfDataInfo>, IWmiModelBase<IProcessPerfDataInfo>, 
	IDisposable

The ProcessPerfDataProvider type exposes the following members.

Constructors
  NameDescription
Public methodCode exampleProcessPerfDataProvider
Initializes a new instance of the ProcessPerfDataProvider 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 based on a user specified override.
(Inherited from WmiPullModelBaseTData, TDataModel.)
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    // Process data configuration
14    // We need to specify what we want to retrieve
15    var config = new ProcessDataConfig
16    {
17        ProcessId = true,
18        Name = true
19    };
20
21    // Process data information
22    var provider = new ProcessDataInfoProvider(managementScope, config);
23
24    // Fetch data
25    provider.Refresh();
26
27    // Print first 10 processes in order by Process Id
28    foreach (var info in provider.Results.OrderBy(x => x.ProcessId).Take(10))
29    {
30        Console.WriteLine($"{info.ProcessId}: \t{info.Name}");
31    }
32
33    // Read
34    Console.Read();
35}
36
37/* Results: 
38 * 
39 * 0:      System Idle Process
40 * 4:      System
41 * 404:    svchost.exe
42 * 476:    smss.exe
43 * 484:    fontdrvhost.exe
44 * 560:    fontdrvhost.exe
45 * 668:    svchost.exe
46 * 712:    csrss.exe
47 * 792:    wininit.exe
48 * 808:    csrss.exe
49 * 
50 */
See Also