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.
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.
|Do not use this function to initialize PROPVARIANT structures. Instead, initialize these structures using the PropVariantInit macro (defined in propidl.h).|