0

我目前正在进行的一个项目涉及到很多硬件问题。因此,我使用了很多与 WMI 相关的代码。我注意到在几个 MSDN 页面上,例如Win32_Fan,有一些 CIM 方法没有实现,因此不能使用。例如,我想使用 CIM_Fan 方法 SetSpeed。此方法的MSDN 页面说明如下:

WMI 目前未实现此方法。要使用此方法,您必须在您自己的提供程序中实现它。

本文档源自 DMTF 发布的 CIM 类描述。Microsoft 可能已进行更改以更正小错误、符合 Microsoft SDK 文档标准或提供更多信息。

我对此信息有一些疑问:

  • 首先,我认为我不太明白他们说我必须在我自己的提供程序中实现该方法是什么意思。我是否需要实际修改让我的电脑运行的脚本?

  • 其次,我不明白如何在语法方面使用 CIM 方法。

如果有人对其中任何一个的答案有任何想法,将不胜感激。

4

1 回答 1

0

您可以使用:打开硬件监视器,它肯定会公开您需要的所有类。它还提供了更多开箱即用的信息。

对于 WMI 工作,您还可以使用ORMi库。使用起来非常简单,例如,这会带来有关处理器的信息:

var processors = helper.Query("SELECT * FROM Win32_Processor");

或者使用类型化的对象:

[WMIClass("Win32_Processor")]
public class Processor
{
    [WMIIgnore]
    public string NonRequiredProp { get; set; }

    public string Name { get; set; }

    [WMIProperty("NumberOfCores")]
    public int Cores { get; set; }

    public string Description { get; set; }
}

然后查询:

List<Processor> procesors = helper.Query<Processor>().ToList();
于 2018-06-21T17:43:42.630 回答