Включить UWF через WMI - PullRequest
       7

Включить UWF через WMI

0 голосов
/ 29 августа 2018

Я пишу программу, которая должна включить UWF. К сожалению, у меня нет опыта работы с интерфейсом WMI, и в документации по UWF нет примеров на C # или .NET.

Когда я включаю UWF, я получаю исключение: «Недопустимые параметры метода (ов)». Но, согласно документации - https://docs.microsoft.com/en-us/windows-hardware/customize/enterprise/uwf-filter - Включить не имеет входных параметров. Прохождение через ноль не работает ни:

var scope = new ManagementScope(@"root\standardcimv2\embedded");
var uwfClass = new ManagementClass(scope.Path.Path, "UWF_Filter", null);
var inputParameters = uwfClass.GetMethodParameters("Enable");
var result = uwfClass.InvokeMethod("Enable", inputParameters, null);

1 Ответ

0 голосов
/ 29 августа 2018

Хорошо, после сильной головной боли я наконец-то понял, почему это не сработало. ManagementClass представляет только класс, а не объект (экземпляр). Чтобы это работало, мне нужно вызвать метод на экземпляре:

var instances = uwfClass.GetInstances();

foreach (ManagementObject instance in instances)
{
    var result = instance.InvokeMethod("Enable", null);
    break; //There should only be one instance, but to be sure, exit after first instance
}

Это может быть логично, но не очень очевидно, если вы не привыкли к WMI.

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