gpt4 book ai didi

.net - 如何将 COM 数组传递给托管代码?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:01:33 25 4
gpt4 key购买 nike

我有一个使用 COM 对象(用 C++ 制作)的 .Net 应用程序(尤其是 VB,尽管我希望它尽可能与语言无关)。

我需要在 COM 中实现一个事件,将一个字符数组从 C++ 传递到 .Net。我想我需要将数组转换为托管数组;我该怎么做?

最佳答案

你没有提到使用的框架。基本上,它会归结为 MFC 或 ATL;对于更高版本的 MFC,您可以混合搭配,因此我推荐使用 Atl。

看看Atl's CComSafeArray为此目的的类模板。你会想要

但是,如果这确实是文本,请考虑使用 _bstr_t 来包装字符串(这样可以轻松地进行正确的编码转换,而无需付出太多努力)。 [1]


[1] 这些天也有 CComBstr,但我从很久以前就开始使用 _bstr_t 并且由于与 BSTR 之间的转换而获得了丰富的经验,例如

关于.net - 如何将 COM 数组传递给托管代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5578842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com