Справочник по технологии COM
Страница 22. VariantClear


VariantClear

Очищает вариант.

HRESULT VariantClear
(
VARIANTARG FAR*pvarg
);

Параметр:

  • pvarg - Указатель на VARIANTARG, который следует очистить.

Коды возврата:
Из возвращенного HRESULT получают один из следующих кодов возврата:

Код возврата Значение
S_OK Успех.
DISP_E_ARRAYISLOCKED Вариант содержит заблокированный массив.
DISP_E_BADVARTYPE Тип варианта pvarg не допускается.
E_INVALIDARG Один из аргументов неверен.

Комментарии:
Используйте эту функцию для очистки переменных типа VARIANTARG (или VARIANT) перед тем, как освободить содержащую их память (например, при выходе из области действия локальной переменной).
Функция очищает VARIANTARG, устанавливая поле vt в VT_EMPTY, а поле wReserved — в 0. Перед этим освобождается текущее содержимое варианта. Если поле vt содержит VT_BSTR, то строка освобождается. Если поле vt содержит VT_DISPATCH, то освобождается объект. Если в поле vt установлен бит VT_ARRAY, то освобождается массив.

Пример:

for(i =0; i < celt; i++) VariantClear(&rgvar[i]);

 
Следующая статья »