PropVariantCopy function (combaseapi.h)

The PropVariantCopy function copies the contents of one PROPVARIANT structure to another.


HRESULT PropVariantCopy(
  [in, out] PROPVARIANT       *pvarDest,
  [in]      const PROPVARIANT *pvarSrc


[in, out] pvarDest

Pointer to an uninitialized PROPVARIANT structure that receives the copy.

[in] pvarSrc

Pointer to the PROPVARIANT structure to be copied.

Return value

This function returns HRESULT.


Copies a PROPVARIANT structure by value so the original pvarSrc and new pvarDest parameters may be freed independently with calls to PropVariantClear. PropVariantCopy does not free the destination as the VariantCopy function does. For nonsimple PROPVARIANT types such as VT_STREAM, VT_STORAGE, and so forth, which require a subobject, the copy is made by reference. The pointer is copied, and IUnknown::AddRef is called on it. It is illegal to pass NULL for either pvarDest or pvarSrc.


Minimum supported client Windows 2000 Professional [desktop apps | UWP apps]
Minimum supported server Windows 2000 Server [desktop apps | UWP apps]
Target Platform Windows
Header combaseapi.h
Library Ole32.lib
DLL Ole32.dll

See also

PROPVARIANT, PropVariantClear