2011-09-17 15 views
4

C#を使用してWMIクラスに使用可能なフィールドをすべて一覧表示しようとしています。.NETのスキーマ情報を一覧表示するWMI

フィールドのこののは同等ではありません表示されますが、私が持っている最も近いWMI

内のテーブルの利用可能同等のすべて
ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from meta_class"); 

foreach (ManagementClass wmiClass in searcher.Get()) 
{ 
    Console.WriteLine(wmiClass["__CLASS"].ToString()); 
} 

を一覧表示されます。

これは可能ですか、または参照マニュアルを参照して利用可能なすべてのフィールドを表示するだけのケースですか?

答えて

7

WMIクラスのインスタンスを持っている場合、System.Management.ManagementBaseObject.Propertiesはすべてのプロパティのリストです(WMIはプロパティとフィールドを分離しません - COMに基づいているので、すべてのプロパティです)。

var wmiClass = new ManagementClass("Win32_ComputerSystem"); 
foreach (var prop in wmiClass.Properties) { 
    Console.WriteLine(prop.Name); 
} 

Propertiesコレクションの各要素はたくさんのPropertyDataインスタンスです:

ManagementClassので、それはまた、ので、すべてのプロパティを一覧表示するには、WMIクラスのプロパティをリストProperties性質を持っているManagementBaseObjectから派生します各プロパティについての情報をご覧ください)

関連する問題