Rechercher une page de manuel
VariantCopy.3w
Langue: en
Version: Jun 2009 (debian - 07/07/09)
Section: 3 (Bibliothèques de fonctions)
NAME
VariantCopy (OLEAUT32.10)SYNOPSIS
HRESULT VariantCopy(
VARIANTARG* pvargDest,
VARIANTARG* pvargSrc
)
DESCRIPTION
Copy a variant.
PARAMS
pvargDest [Out] Destination for copy.pvargSrc [In] Source variant to copy.
RETURNS
Success: S_OK. pvargDest contains a copy of pvargSrc.
Failure: DISP_E_BADVARTYPE, if either variant has an invalid 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 == pvargDest, this function does nothing, and succeeds if pvargSrc is valid. Otherwise, pvargDest is always cleared using VariantClear() before pvargSrc is copied to it. If clearing pvargDest fails, so does this function.
- VT_CLSID is a valid type type for pvargSrc, but not for pvargDest.
- For by-value non-intrinsic types, a deep copy is made, i.e. The whole value is copied rather than just any pointers to it.
- For by-value object types the object pointer is copied and the objects reference count increased using IUnknown_AddRef(3w).
- For all by-reference types, only the referencing pointer is copied.
IMPLEMENTATION
Defined in "oleauto.h".
Implemented in "dlls/oleaut32/variant.c".
Debug channel "variant".
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre