调用CIM方法需要MI_STRINGA数据类型

时间:2019-04-18 20:14:24

标签: c# wmi cim

从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客户端无法处理该请求。 MI类型为MI_STRING的属性“ NotifyServers”与模式中的预期类型MI_STRINGA不匹配。指定正确的类型,然后重试该操作。

看起来好像需要8位/ ASCII字符串,但是C#使用unicode字符串进行操作。 如何为它提供MI_STRINGA数据类型?

我尝试了byte []和char []以及指向封送的内存块的指针。但这只会导致无法转换为MI_STRINGA的其他数据类型。

1 个答案:

答案 0 :(得分:0)

没关系。 MI_STRINGA中的A表示数组,而不是ASCII或ANSI。 这样一个简单的字符串[]就可以了。...