Funzione VariantCopyInd (oleauto.h)
Libera la variante di destinazione e crea una copia della variante di origine, eseguendo l'indiretto necessario se l'origine viene specificata per essere VT_BYREF.
Sintassi
HRESULT VariantCopyInd(
[out] VARIANT *pvarDest,
[in] const VARIANTARG *pvargSrc
);
Parametri
[out] pvarDest
Variante di destinazione.
[in] pvargSrc
Variante di origine.
Valore restituito
Questa funzione può restituire uno di questi valori.
Codice restituito | Descrizione |
---|---|
|
Operazione completata. |
|
La variante contiene una matrice bloccata. |
|
Il tipo variant non è un tipo valido di variant. |
|
Uno degli argomenti non è valido. |
|
Memoria insufficiente per completare l'operazione. |
Commenti
Questa funzione è utile quando è necessaria una copia di una variante e per garantire che non sia VT_BYREF, ad esempio quando si gestiscono gli argomenti in un'implementazione di IDispatch::Invoke.
Ad esempio, se l'origine è un oggetto (VT_BYREF | VT_I2), la destinazione sarà byval | VT_I2. Lo stesso vale per tutte le combinazioni di VT_BYREF legali, tra cui VT_VARIANT.
Se pvargSrc è (VT_BYREF | VT_VARIANT) e la variante contenuta è VT_BYREF, viene dereferenziata anche la variante contenuta.
Questa funzione libera qualsiasi contenuto esistente di pvarDest.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Intestazione | oleauto.h |
Libreria | OleAut32.lib |
DLL | OleAut32.dll |