Compartir a través de


Función VariantCopyInd (oleauto.h)

Libera la variante de destino y realiza una copia de la variante de origen, realizando la indirecta necesaria si se especifica que el origen se va a VT_BYREF.

Sintaxis

HRESULT VariantCopyInd(
  [out] VARIANT          *pvarDest,
  [in]  const VARIANTARG *pvargSrc
);

Parámetros

[out] pvarDest

Variante de destino.

[in] pvargSrc

Variante de origen.

Valor devuelto

Esta función puede devolver uno de estos valores.

Código devuelto Descripción
S_OK
Correcto.
DISP_E_ARRAYISLOCKED
La variante contiene una matriz bloqueada.
DISP_E_BADVARTYPE
El tipo de variante no es un tipo válido de variante.
E_INVALIDARG
Uno de los argumentos no es válido.
E_OUTOFMEMORY
Memoria insuficiente para completar la operación.

Comentarios

Esta función es útil cuando se necesita una copia de una variante y para garantizar que no se VT_BYREF, como al controlar argumentos en una implementación de IDispatch::Invoke.

Por ejemplo, si el origen es un (VT_BYREF | VT_I2), el destino será BYVAL | VT_I2. Lo mismo sucede con todas las combinaciones de VT_BYREF legales, incluidas las VT_VARIANT.

Si pvargSrc es (VT_BYREF | VT_VARIANT) y la variante contenida se VT_BYREF, la variante contenida también se desreferencia.

Esta función libera cualquier contenido existente de pvarDest.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado oleauto.h
Library OleAut32.lib
Archivo DLL OleAut32.dll

Consulte también

Funciones de manipulación de variantes