Fonction VariantCopyInd (oleauto.h)
Libère la variante de destination et effectue une copie de la variante source, en effectuant l’indirection nécessaire si la source est spécifiée pour être VT_BYREF.
Syntaxe
HRESULT VariantCopyInd(
[out] VARIANT *pvarDest,
[in] const VARIANTARG *pvargSrc
);
Paramètres
[out] pvarDest
Variante de destination.
[in] pvargSrc
Variante source.
Valeur retournée
Cette fonction peut retourner l’une de ces valeurs.
Code de retour | Description |
---|---|
|
Réussite. |
|
La variante contient un tableau verrouillé. |
|
Le type variant n’est pas un type de variant valide. |
|
L’un des arguments n’est pas valide. |
|
Mémoire insuffisante pour terminer l’opération. |
Remarques
Cette fonction est utile lorsqu’une copie d’une variante est nécessaire et pour garantir qu’elle n’est pas VT_BYREF, par exemple lors de la gestion des arguments dans une implémentation d’IDispatch ::Invoke.
Par exemple, si la source est un (VT_BYREF | VT_I2), la destination sera BYVAL | VT_I2. Il en va de même pour toutes les combinaisons de VT_BYREF légales, y compris les VT_VARIANT.
Si pvargSrc est (VT_BYREF | VT_VARIANT), et la variante contenue est VT_BYREF, la variante contenue est également déréférencée.
Cette fonction libère tout contenu existant de pvarDest.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | oleauto.h |
Bibliothèque | OleAut32.lib |
DLL | OleAut32.dll |