COM Automation结构与它们的包装器

时间:2017-07-25 15:42:42

标签: c++ com atl safearray

我正在为Windows API开发一个COM包装器,可以从那些没有本机Windows API支持的脚本语言中使用它。所以我在思考我应该在COM ATL项目中使用什么。 SAFEARRAYCComSafeArrayVARIANTCComVariant?或任何其他结构或适当的包装?

我使用这两种类型进行了测试,但没有任何特殊的性能差异,使用问题或它们之间的其他实现。

哪一个最适合在COM ATL项目中使用?例如,SAFEARRAYCComSafeArray

1 个答案:

答案 0 :(得分:3)

接口和coclasses必须使用SAFEARRAYVARIANT。您不能拥有在其任何COM公共方法签名或属性中使用CComSafeArrayCComVariant的COM接口或对象。但可以在coclass实现中使用CComSafeArrayCComVariant