【问题标题】:WMI turn off disksWMI 关闭磁盘
【发布时间】:2011-09-13 16:30:49
【问题描述】:

我想关闭磁盘 (WMI)。到目前为止,我有以下代码:

    ManagementScope scope = new ManagementScope("\\\\.\\ROOT\\cimv2");
    ObjectQuery query = new ObjectQuery("SELECT * FROM CIM_DiskDrive");

    //create object searcher
    ManagementObjectSearcher searcher =
                            new ManagementObjectSearcher(scope, query);
    ManagementObjectCollection queryCollection = searcher.Get();

    //enumerate the collection.
    foreach (ManagementObject m in queryCollection)
    {
        Console.WriteLine("in set power state for: " + m.Path);
        ManagementOperationObserver obs = new ManagementOperationObserver();
        obs.Progress += new ProgressEventHandler(obs_Progress);
        obs.Completed += new CompletedEventHandler(obs_Completed);
        m.InvokeMethod(obs, "SetPowerState", new object[]{"7"});
    }

但是,磁盘活动不断发生。任何关于正在发生的事情的想法将不胜感激。

【问题讨论】:

  • P.S.我可以在控制台写入行命令中看到磁盘(两个驱动器,PhysicalDrive0 和 PhysicalDrive1)

标签: c# windows wmi


【解决方案1】:

SetPowerState 不是由 WMI 实现的:

http://msdn.microsoft.com/en-us/library/aa387254(v=VS.85).aspx

检查 CompletedEventArgs.Status 也会返回 MethodNotImplemented 告诉我们情况就是这样。如果您想使用该方法,您必须实现自己的提供程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-21
    • 1970-01-01
    • 1970-01-01
    • 2011-01-28
    相关资源
    最近更新 更多