Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Frees the destination variant and makes a copy of the source variant, performing the necessary indirection if the source is specified to be VT_BYREF.
Syntax
HRESULT VariantCopyInd(
[out] VARIANT *pvarDest,
[in] const VARIANTARG *pvargSrc
);
Parameters
[out] pvarDest
The destination variant.
[in] pvargSrc
The source variant.
Return value
This function can return one of these values.
Return code | Description |
---|---|
|
Success. |
|
The variant contains an array that is locked. |
|
The variant type is not a valid type of variant. |
|
One of the arguments is not valid. |
|
Insufficient memory to complete the operation. |
Remarks
This function is useful when a copy of a variant is needed, and to guarantee that it is not VT_BYREF, such as when handling arguments in an implementation of IDispatch::Invoke.
For example, if the source is a (VT_BYREF | VT_I2), the destination will be a BYVAL | VT_I2. The same is true for all legal VT_BYREF combinations, including VT_VARIANT.
If pvargSrc is (VT_BYREF | VT_VARIANT), and the contained variant is VT_BYREF, the contained variant is also dereferenced.
This function frees any existing contents of pvarDest.
Requirements
Requirement | Value |
---|---|
Target Platform | Windows |
Header | oleauto.h |
Library | OleAut32.lib |
DLL | OleAut32.dll |