为什么 new ManagementObject(@"root\WMI", "BcdStore", null) 抛出异常?
Why new ManagementObject(@"root\WMI", "BcdStore", null) throws exception?
使用 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.
怎么了?
您正在使用的 ManagementObject 构造函数版本需要一个 WMI 路径作为参数,而您只传递 class 名称,因此您必须使用类似这样的东西。
var classInstance = ManagementObject(@"root\WMI", "BcdStore.FilePath=''", null);
注意:系统存储由空字符串 ("") 表示。
使用 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.
怎么了?
您正在使用的 ManagementObject 构造函数版本需要一个 WMI 路径作为参数,而您只传递 class 名称,因此您必须使用类似这样的东西。
var classInstance = ManagementObject(@"root\WMI", "BcdStore.FilePath=''", null);
注意:系统存储由空字符串 ("") 表示。