Итак, мне удалось написать класс, который позволяет мне обращаться к WMI и получать информацию о классах, включая их методы, и все свойства классов и их последующих методов. Я не могу найти в C # в классах System.Management или System.Management.Instrumentation ничего, что позволяет мне получить доступ к типам данных CIM свойств в WMI ни в основном классе, ни в методах. Кто-нибудь знает, как я могу получить эти типы данных?
Получить тип данных CIM из свойств в классах WMI с помощью C #
comment
WMI класса CIM_DataFile
- person MethodMan   schedule 25.11.2014
comment
Кажется, там ничего не позволяет мне получить типы данных свойств в классах WMI. Кроме того, CIM_DataFile, похоже, не находится на вершине иерархии классов, которые я изучаю. Я еще не эксперт в WMI / CIM / WBEM, но уверен, что это не то, что мне нужно.
- person Christopher D Albert   schedule 25.11.2014
Ответы (1)
Чтобы получить метаданные (например, cimtype, значение, имя) классов WMI, вы можете использовать _ 1_ класс.
Попробуйте этот образец кода из MSDN
using System;
using System.Management;
public class Sample
{
public static void Main()
{
// Get the WMI class
ManagementClass osClass =
new ManagementClass("Win32_OperatingSystem");
osClass.Options.UseAmendedQualifiers = true;
// Get the Properties in the class
PropertyDataCollection properties =
osClass.Properties;
// display the Property names
Console.WriteLine("Property Name: ");
foreach (PropertyData property in properties)
{
Console.WriteLine(
"---------------------------------------");
Console.WriteLine(property.Name);
Console.WriteLine("Description: " + property.Qualifiers["Description"].Value);
Console.WriteLine();
Console.WriteLine("Type: ");
Console.WriteLine(property.Type);
Console.WriteLine();
Console.WriteLine("Qualifiers: ");
foreach(QualifierData q in
property.Qualifiers)
{
Console.WriteLine(q.Name);
}
Console.WriteLine();
foreach (ManagementObject c in osClass.GetInstances())
{
Console.WriteLine("Value: ");
Console.WriteLine(c.Properties[property.Name.ToString()].Value);
Console.WriteLine();
}
}
}
person
RRUZ
schedule
27.11.2014
Спасибо, это сработало. Я думал, что это свойство Properties объекта ManagementClass, но мне было трудно использовать данные, содержащиеся внутри. Все еще новичок в пространстве имен System.Management. Еще раз спасибо! Редактировать:
- person Christopher D Albert; 28.11.2014