为什么新的ManagementObject(@" root \ WMI"," BcdStore",null)抛出异常?

时间:2015-03-10 15:00:15

标签: c# wmi

使用WMI Code Creator,我尝试向root\WMI\BcdStore.EnumerateObjects()发出呼叫。但是我在第一行代码上得到了一个例外:

var classInstance = new ManagementObject(
    @"root\WMI", "BcdStore", null); // <== exception!!!

// Obtain in-parameters for the method
var inParams = classInstance.GetMethodParameters("EnumerateObjects");

// ... 

例外是:

A first chance exception of type 'System.ArgumentOutOfRangeException' occurred in System.Management.dll

Additional information: Specified argument was out of the range of valid values.

出了什么问题?

1 个答案:

答案 0 :(得分:1)

您正在使用的ManagementObject构造函数的版本是期望WMI路径作为参数,并且您只传递类名,因此您必须使用这样的东西。

var classInstance = ManagementObject(@"root\WMI", "BcdStore.FilePath=''", null);

注意:系统存储由空字符串表示(&#34;&#34;)。