Функция VariantCopyInd (oleauto.h)
Освобождает вариант назначения и создает копию исходного варианта, выполняя необходимое косвенное обращение, если источник указан для VT_BYREF.
Синтаксис
HRESULT VariantCopyInd(
[out] VARIANT *pvarDest,
[in] const VARIANTARG *pvargSrc
);
Параметры
[out] pvarDest
Вариант назначения.
[in] pvargSrc
Исходный вариант.
Возвращаемое значение
Эта функция может возвращать одно из этих значений.
Код возврата | Описание |
---|---|
|
Успешно. |
|
Вариант содержит заблокированный массив. |
|
Тип variant не является допустимым типом variant. |
|
Один из аргументов недопустим. |
|
Недостаточно памяти для завершения операции. |
Комментарии
Эта функция полезна, когда требуется копия варианта и гарантирует, что она не VT_BYREF, например при обработке аргументов в реализации IDispatch::Invoke.
Например, если источником является (VT_BYREF | VT_I2), назначением будет BYVAL | VT_I2. То же самое относится ко всем юридическим VT_BYREF сочетаниям, включая VT_VARIANT.
Если pvargSrc имеет значение (VT_BYREF | VT_VARIANT), а автономный вариант VT_BYREF, а автономный вариант также разыменовывается.
Эта функция освобождает все существующее содержимое pvarDest.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | oleauto.h |
Библиотека | OleAut32.lib |
DLL | OleAut32.dll |