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 |
---|---|
|
Correcto. |
|
La variante contiene una matriz bloqueada. |
|
El tipo de variante no es un tipo válido de variante. |
|
Uno de los argumentos no es válido. |
|
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 |