Click or drag to resize

MemoryInfoProvider Class

Memory Information Provider.
Inheritance Hierarchy
SystemObject
  Xcalibur.WMI.FrameworkWmiModelBaseIMemoryInfo, MemoryInfo
    Xcalibur.WMI.FrameworkWmiPullModelBaseIMemoryInfo, MemoryInfo
      Xcalibur.WMI.Hardware.MemoryMemoryInfoProvider

Namespace:  Xcalibur.WMI.Hardware.Memory
Assembly:  Xcalibur.WMI (in Xcalibur.WMI.dll) Version: 3.0.0.0 (3.0.1.0)
Syntax
public sealed class MemoryInfoProvider : WmiPullModelBase<IMemoryInfo, MemoryInfo>, 
	IMemoryInfoProvider, IWmiPullModelBase<IMemoryInfo>, IWmiModelBase<IMemoryInfo>, 
	IDisposable

The MemoryInfoProvider type exposes the following members.

Constructors
  NameDescription
Public methodCode exampleMemoryInfoProvider
Initializes a new instance of the MemoryInfoProvider 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    // Memory Info Provider
14    var provider = new MemoryInfoProvider(managementScope);
15
16    // Fetch data
17    provider.Refresh();
18
19    // Print Memory bank information
20    foreach (var info in provider.Results)
21    {
22        // Print system level information
23        Console.WriteLine("System Memory:");
24        Console.WriteLine("");
25        Console.WriteLine($"Total Slots: \t\t{info.TotalSlots}");
26        Console.WriteLine($"Total Memory: \t\t{info.TotalMemory}");
27        Console.WriteLine($"Max Memory Allowed: \t{info.MaximumMemory * 1024}");
28
29        // Spacer
30        Console.WriteLine("");
31        Console.WriteLine("");
32
33        // Print
34        Console.WriteLine("Slots:");
35        Console.WriteLine("");
36        foreach (var slot in info.Slots)
37        {
38            Console.WriteLine($"{slot.BankLabel}:  " +
39                              $"\t{slot.Manufacturer} - {slot.PartNumber} " +
40                              $"\t{slot.Capacity}" +
41                              $"\t{slot.Speed}");
42        }
43    }
44
45    // Read
46    Console.Read();
47}
48
49/* Results: 
50 * 
51 * System Memory:
52 * 
53 * Total Slots:            4
54 * Total Memory:           34359738368
55 * Max Memory Allowed:     68719476736
56 * 
57 * 
58 * Slots:
59 * 
60 * BANK 0:         G-Skill - F4-2800C15-8GVRB      8589934592      2800
61 * BANK 1:         G-Skill - F4-2800C15-8GVRB      8589934592      2800
62 * BANK 2:         G-Skill - F4-2800C15-8GVRB      8589934592      2800
63 * BANK 3:         G-Skill - F4-2800C15-8GVRB      8589934592      2800
64 * 
65 */
See Also