Метод CComSafeArray :: SetAt предоставляет параметр для управления копированием ссылочной переменной:
HRESULT SetAt(
LONG lIndex,
const T& t,
BOOL bCopy = TRUE
);
... но метод CComSafeArray :: MultiDimSetAt не предлагает тот же параметр:
HRESULT MultiDimSetAt(
const LONG * alIndex,
const T& t
);
Два вопроса:
1.) Есть ли причина, по которой эта опция не предлагается в методе MultiDim?
2.) В документах не указывается, копируется ли указанная переменная. Это скопировано неявно?
(В моем случае я бы хотел, чтобы не копировалось, поскольку это временная оболочка для типа VARIANT, которая может иметь значение «Detach'd» после установки его в массив)