VariantCopyInd.3w

Langue: en

Version: Jun 2009 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

VariantCopyInd (OLEAUT32.11)

SYNOPSIS

HRESULT VariantCopyInd
 (
  VARIANT*    pvargDest,
  VARIANTARG* pvargSrc
 )

DESCRIPTION

Copy a variant, dereferencing it if it is by-reference.

PARAMS

pvargDest [Out] Destination for copy.

pvargSrc [In] Source variant to copy.

RETURNS

Success: S_OK. pvargDest contains a copy of pvargSrc.

Failure: An HRESULT error code indicating the error.

NOTES

Failure: DISP_E_BADVARTYPE, if either variant has an invalid by-value type. E_INVALIDARG, if pvargSrc is an invalid by-reference type. E_OUTOFMEMORY, if memory cannot be allocated. Otherwise an HRESULT error code from SafeArrayCopy(3w), IRecordInfo_GetSize(3w), or IRecordInfo_RecordCopy(3w), depending on the type of pvargSrc.

NOTES

- If pvargSrc is by-value, this function behaves exactly as VariantCopy(3w).

- If pvargSrc is by-reference, the value copied to pvargDest is the pointed-to value.

- if pvargSrc == pvargDest, this function dereferences in place. Otherwise, pvargDest is always cleared using VariantClear(3w) before pvargSrc is copied to it. If clearing pvargDest fails, so does this function.

IMPLEMENTATION

Defined in "oleauto.h".

Implemented in "dlls/oleaut32/variant.c".

Debug channel "variant".