WMI отключить диски - PullRequest
       5

WMI отключить диски

1 голос
/ 13 сентября 2011

Я хочу отключить диски (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"});
    }

, однако работа с дисками продолжается.Будут оценены любые идеи о том, что происходит.

1 Ответ

2 голосов
/ 13 сентября 2011

SetPowerState не реализован WMI:

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

проверка CompletedEventArgs.Status также вернет MethodNotImplemented, сообщая, что это так.Если вы хотите использовать этот метод, вы должны реализовать свой собственный поставщик.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...