VariantCopy

pvargDest, pvargSrc)
VARIANTARG FAR* pvargDest
VARIANTARG FAR* pvargSrc

Frees the destination variant and makes a copy of the source variant.

Parameters

pvargDest

Pointer to the VARIANTARG to receive the copy.

pvargSrc

Pointer to the VARIANTARG to be copied.

Return Value

The SCODE obtained from the returned HRESULT is one of the following:

SCODE
Meaning
S_OK
Success.
DISP_E_ARRAYISLOCKED
The variant contains an array that is locked.
DISP_E_BADVARTYPE
The source and destination have an invalid variant type (usually uninitialized).
E_OUTOFMEMORY
Memory could not be allocated for the copy.
E_INVALIDARG
The argument pvargSrc was VT_BYREF.

Comments

First, any memory owned by pvargDest is freed as in VariantClear (note that pvargDest must point to a valid initialized variant, and not simply an uninitialized memory location). Then, pvargDest receives an exact copy of the contents of pvargSrc. If pvargSrc is a VT_BSTR, a copy of the string is made. If pvargSrc is a VT_ARRAY, the entire array is copied. If pvargSrc is a VT_DISPATCH or VT_UNKNOWN, AddRef is called to increment the object's reference count.

Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
Databases for Amazon shops developers
Amazon Categories Database
Browse Nodes Database