Share via


PropVariantClear (Compact 2013)

3/26/2014

This function frees all elements that can be freed in a given PROPVARIANT structure. For complex elements with known element pointers, the underlying elements are freed prior to freeing the containing element.

Syntax

WINOLEAPI PropVariantClear(
  PROPVARIANT* pvar
);

Parameters

  • pvar
    [in] Pointer to an initialized PROPVARIANT structure for which any deallocatable elements are to be freed. On return, all zeroes are written to the PROPVARIANT structure.

Return Values

The following table shows the return values for this function.

Value

Description

S_OK

The VT types are recognized and all items that can be freed have been freed.

STG_E_INVALID_PARAMETER

The variant has an unknown VT type.

Remarks

At any level of indirection, NULL pointers are ignored. For example, the pvar parameter points to a PROPVARIANT structure of type VT_CF. The pclipdata member of the PROPVARIANT structure points to a CLIPDATA structure. The pclipData pointer in the CLIPDATA structure is NULL. In this example, the pclipData pointer is ignored. However, the CLIPDATA structure pointed to by the pclipdata member of the PROPVARIANT structure is freed.

On return, this function writes zeroes to the specified PROPVARIANT structure, so the VT-type is VT_EMPTY.

Passing NULL as the pvar parameter produces a return code of S_OK.

Note

Do not use this function to initialize PROPVARIANT structures. Instead, initialize these structures using the PropVariantInit macro (defined in propidl.h).

Requirements

Header

oaidl.h

Library

oleaut32.lib

See Also

Reference

Automation Functions
FreePropVariantArray
PROPVARIANT