C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 24 - VariantCopylnd / COM-справка / Приложение

Шаг 24 - VariantCopylnd

Освобождает принимающий вариант и копирует исходный, выполняя необходимые обращения по указателям, если для исходного варианта задан флаг VT_BYREF.

HRESULT VariantCopyInd
( 
	VARIANTARG FAR* pvargDest, 
	VARIANTARG FAR* pvargSrc
);

Параметры:

  • pvargDest - Указатель на VARIANTARG, принимающий копию.
  • pvargSrc - Указатель на копируемый VARIANTARG.

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

Код возвратаЗначение
S_OKУспех.
DISP_E_ARRAYISLOCKEDВариант содержит заблокированный массив.
DISP_E_BADVARTYPEИсходный или принимающий вариант имеют недопустимый тип (обычно не инициализированы).
E_OUTOFMEMORYНевозможно выделить память для размещения копии.
E_NVALIDARGАргумент pvargSrc — VT_ARRAY.

Комментарии:
Эта функция полезна тогда, когда требуется копия варианта и необходимо гарантировать, что она не будет использовать VT_BYREF, например, при работе с аргументами в реализации IDispatch::Invoke.
Например, если исходный тип — это (VT_BYREF | VT_I2), то принимающий вариант будет иметь тип просто VT_I2. Это верно для любых допустимых комбинаций с VT_BYREF, в том числе VT_VARIANT.
Если pvargSrc имеет тип (VT_BYREF | VT_VARIANT) и содержащийся в нем вариант тоже использует VT_BYREF, то и вложенный вариант разыменовывается (dereferenced). Функция освобождает предыдущее содержимое pvargDest.


| |
Автор Каев Артем.
[AD]