Не удалось найти точку входа с именем «Сброс» в DLL «CIMWin32.dll» - PullRequest
0 голосов
/ 02 марта 2020

[DllImport("CIMWin32.dll")] public static extern UInt32 Reset();

Когда я вызываю этот метод, тогда я получаю исключение

Невозможно найти точку входа с именем «Сброс» в DLL «CIMWin32.dll»

1 Ответ

0 голосов
/ 02 марта 2020

Я не уверен, какой Reset метод CIM вы хотите импортировать и вызывать, но именно так вы можете вызвать метод в VMI. Установите пакет System.Management через NuGet. Затем вам нужно создать экземпляр ManagementClass, как показано ниже:

var NamespacePath = "\\\\.\\ROOT\\cimv2";
var ClassName = "CIM_LogicalDevice";

ManagementClass managementClass = new ManagementClass(NamespacePath + ":" + ClassName);           

managementClass .InvokeMethod("Reset", null);

Конечно, в приведенном выше коде метод Reset не реализован . Вы можете найти своего провайдера, класс и метод в Документах Microsoft . Например, выше я попытался вызвать метод Reset класса CIM_LogicalDevice.

В разделе требований вы можете увидеть пространство имен.

enter image description here.

Если вы ищете более сложный пример вызова методов класса WMI, взгляните на этот пример в Microsoft Docs: https://docs.microsoft.com/en-us/configmgr/develop/core/clients/programming/how-to-call-a-wmi-class-method-by-using-system.management

...