转换“字符串数组”的内容又名 SAFEARRAY 到 wchar

发布于 2024-09-08 05:14:14 字数 346 浏览 7 评论 0原文

我正在使用 WMI 读取 WMI 对象 Win32_NetworkAdapterConfiguration 上的 DefaultIPGateway。 MSDN 说它是一个“字符串数组”当您查询 WMI 时,Visual Studio 会将其解释为返回的 VARIANT 对象上的 SAFEARRAY。

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

代码值得赞赏

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

I'm using WMI to read DefaultIPGateway on the WMI object Win32_NetworkAdapterConfiguration. The MSDN says it's a "String Array" and visual studio interprets this as a SAFEARRAY on the VARIANT object returned when you query the WMI.

How do you access the information inside the array? How do you convert each element to a wchar* or char*?

Code is appreciated

ps: note that i don't know anything about COM

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

软糖 2024-09-15 05:14:14

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

Use SafeArrayAccessData to access the array elements. There is a sample snippet in the MSDN Library article for it that also works with strings. The elements should be BSTR, just wcscpy() into a wchar_t[].

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文