我正在开发Windows API的COM包装器,可以从不具有本机Windows API支持的脚本语言中使用它。因此,我正在考虑在COM ATL项目中应使用什么。 SAFEARRAY
或CComSafeArray
? VARIANT
或CComVariant
?还是其他任何结构或合适的包装器?
我测试了这两种类型,但没有发现任何特殊的性能差异,使用问题或其他实现。
COM ATL项目中最好使用哪一种?例如,SAFEARRAY
或CComSafeArray
?
最佳答案
接口(interface)和共同类必须使用SAFEARRAY
和VARIANT
。您不能有在其COM公共(public)方法签名或属性中使用CComSafeArray
或CComVariant
的COM接口(interface)或对象。但是,您可以在coclass实现中使用CComSafeArray
或CComVariant
。