_variant_t中的CComSafeArray包含安全数组

时间:2018-11-25 11:46:45

标签: c++ com atl

我从COM对象方法中获得了一个 _variant_t 变体变量。该变体实际上是SAFEARRAY为VARIANT的类型。我想使用CComSafeArray对其进行操作。

现在我使用以下代码:

_variant_t v_sa = /*call to the object method*/
CComSafeArray<VARIANT> csa(v_sa.parray);

虽然可行,但我从CComSafeArray构造函数documentation中学到了

  

构造函数使用此地址创建数组的副本,因此构造后不会引用该数组。

因此,我可能正在复制安全阵列。有没有更好的方法来构造CComSafeArray对象?

必须使用_variant_t对象的原因是因为它是由#import指令生成的代码返回的。

0 个答案:

没有答案