VariantCopyInd-Funktion (oleauto.h)
Gibt die Zielvariante frei und erstellt eine Kopie der Quellvariante, wobei die erforderliche Dereferenzierung ausgeführt wird, wenn die Quelle als VT_BYREF angegeben wird.
Syntax
HRESULT VariantCopyInd(
[out] VARIANT *pvarDest,
[in] const VARIANTARG *pvargSrc
);
Parameter
[out] pvarDest
Die Zielvariante.
[in] pvargSrc
Die Quellvariante.
Rückgabewert
Diese Funktion kann einen dieser Werte zurückgeben.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Erfolg. |
|
Die Variante enthält ein Array, das gesperrt ist. |
|
Der Variant-Typ ist kein gültiger Variant-Typ. |
|
Eines der Argumente ist ungültig. |
|
Unzureichender Arbeitsspeicher, um den Vorgang abzuschließen. |
Hinweise
Diese Funktion ist nützlich, wenn eine Kopie einer Variante benötigt wird, und um sicherzustellen, dass sie nicht VT_BYREF ist, z. B. bei der Behandlung von Argumenten in einer Implementierung von IDispatch::Invoke.
Beispielsweise, wenn die Quelle ein (VT_BYREF | VT_I2) ist das Ziel ein BYVAL | VT_I2. Gleiches gilt für alle rechtlichen VT_BYREF Kombinationen, einschließlich VT_VARIANT.
Wenn pvargSrc ist (VT_BYREF | VT_VARIANT) und die enthaltene Variante VT_BYREF ist, wird auch die enthaltene Variante abgeleitet.
Diese Funktion gibt alle vorhandenen Inhalte von pvarDest frei.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | oleauto.h |
Bibliothek | OleAut32.lib |
DLL | OleAut32.dll |