VariantClear

pvarg)
VARIANTARG FAR* pvarg

Clears a variant.

Parameter

pvarg

Pointer to the VARIANTARG to clear.

Return Value

The SCODE obtained from the returned HRESULT is one of the following:

SCODE
Meaning
S_OK
Success.
DISP_E_ARRAYISLOCKED
The variant contains an array that is locked.
DISP_E_BADVARTYPE
The variant type pvarg is not a valid type of variant.
E_INVALIDARG
One of the arguments is invalid.

Comments

This function should be used to clear variables of type VARIANTARG (or VARIANT) before the memory containing the VARIANTARG is freed (as when a local variable goes out of scope).

The function clears a VARIANTARG by setting the vt field to VT_EMPTY and the wReserved field to 0. The current contents of the VARIANTARG are released first. If the vt field is VT_BSTR, the string is freed; if the vt field is VT_DISPATCH, the object is released. If the vt field has the VT_ARRAY bit set, the array is freed.

In certain cases, you may prefer to clear a variant in your own code, without calling VariantClear. For example, it is permissible to change the type of a VT_I4 variant to some other type without calling this function. However, you must call VariantClear if you receive a VT_type that you are not prepared to handle. Using VariantClear in these cases ensures that your code will continue to work if OLE Automation adds new variant types in the future.

Example

for(i = 0; i < celt; ++i)

VariantClear(&rgvar[i]);

Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
Databases for Amazon shops developers
Amazon Categories Database
Browse Nodes Database