【问题标题】:How to Use a CIM Methods Which are Not Implemented by WMI?如何使用 WMI 未实现的 CIM 方法?
【发布时间】:2018-11-30 23:55:18
【问题描述】:

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

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

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

我对此信息有很多疑问:

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

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

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

【问题讨论】:

    标签: c# wmi cim


    【解决方案1】:

    您可以使用:Open Hardware Monitor,它肯定会公开您需要的所有类。它还提供了很多开箱即用的信息。

    对于 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();
    

    【讨论】:

    • 我知道打开硬件监视器。虽然我不知道 ORMI 库,但我会看看。但是,我必须说它并没有真正回答我的问题……我想使用 CIM 方法,因为它们可以影响我的计算机的性能。
    • @ItaiBieber 这些天我要推出的下一个版本将包括方法支持。但生产版本尚不支持它
    猜你喜欢
    • 1970-01-01
    • 2018-12-25
    • 1970-01-01
    • 1970-01-01
    • 2013-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-15
    相关资源
    最近更新 更多