将 "string array"AKA SAFEARRAY 的内容转换为 wchar

标签 c windows wmi

我正在使用 WMI 读取 WMI 对象 Win32_NetworkAdapterConfiguration 上的 DefaultIPGateway。 MSDN表示它是一个“字符串数组”,而 visual studio 将其解释为查询 WMI 时返回的 VARIANT 对象上的 SAFEARRAY。

如何访问数组中的信息?如何将每个元素转换为 wchar* 或 char*?

感谢代码

ps: 请注意,我对 COM 一无所知

最佳答案

使用 SafeArrayAccessData 访问数组元素。 MSDN Library 文章中有一个示例片段也适用于字符串。元素应该是 BSTR,只是将 wcscpy() 转换为 wchar_t[]。

关于将 "string array"AKA SAFEARRAY 的内容转换为 wchar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3196179/

相关文章:

c 枚举类型的按位组合参数

我们可以在模板源文件中使用 CMake foreach 吗?

c - 编写二进制文件的名称,避免在 C 中使用 sprintf()

python - cvxopt 构建轮失败 - 无法找到 vcvarsall.bat

wmi - 如何使用 WMI 检索物理打印机列表?

c# - 从 C# 启动远程进程的问题

c# - 如何使用 WMI 读取 IIS 6 网站的目录结构?

c - 声明二维数组的程序

windows - 最有用的 Explorer 外壳扩展

c++ - 为什么 GetLastError() 在调试期间与 "normal"执行期间返回不同的代码?