Для вызова метода CIM требуется тип данных MI_STRINGA - PullRequest
0 голосов
/ 18 апреля 2019

Из C # Я пытаюсь вызвать метод CIM:

string str = "1.1.1.1";
var param = new CimMethodParametersCollection();
...
param.Add(CimMethodParameter.Create("NotifyServers", str, CimFlags.In));
session.InvokeMethod(_NameSpace, "PS_DnsServerPrimaryZone", "SetByParameters", param);

Проблема в том, что это приводит к сообщению об ошибке: Клиент WinRM не может обработать запрос.Свойство «NotifyServers» с MI-типом MI_STRING не соответствует ожидаемому типу из схемы: MI_STRINGA.Укажите правильный тип и повторите операцию.

Выглядит так, как будто она хочет 8-битную строку / ascii, но C # работает со строками Unicode.Как мне дать ему тип данных MI_STRINGA?

Я пытался использовать byte [] и char [], а также указатели на маршалированные фрагменты памяти.Но это просто приводит к другим типам данных, которые он не может преобразовать в MI_STRINGA.

1 Ответ

0 голосов
/ 19 апреля 2019

Неважно.A в MI_STRINGA означает массив, а не ASCII или ANSI.Так что простая строка [] подойдет ....

...