Метод ICallFrame::Copy (callobj.h)

Создает копию этого кадра вызова и всех связанных с ним данных.

Предупреждение Кадр вызова не очищает скопированные данные автоматически. Таким образом, после возврата копии пользователь отвечает за вызов free для копии кадра. Это необходимо сделать, чтобы избежать утечки памяти.
 

Синтаксис

HRESULT Copy(
  [in]  CALLFRAME_COPY   copyControl,
  [in]  ICallFrameWalker *pWalker,
  [out] ICallFrame       **ppFrame
);

Параметры

[in] copyControl

Определяет, можно ли совместно использовать скопированные данные вызываемого кадра с данными в родительском кадре, определяя зависимость их времени существования от родительского кадра. Список значений см. в перечислении CALLFRAME_COPY . Если установлен флаг CALLFRAME_COPY_NESTED, клиент будет отвечать за использование скопированного кадра вызова таким образом, чтобы его время существования вложено в время существования родительского кадра, что делает данные совместно используемые. Если задано CALLFRAME_COPY_INDEPENDENT, время существования скопированного кадра не зависит от родительских элементов.

[in] pWalker

Указатель на экземпляр интерфейса ICallFrameWalker . Метод OnWalkInterface будет вызываться для каждого скопированного указателя интерфейса. Если этот параметр не указан, в AddRef будет передан любой скопированный указатель интерфейса.

[out] ppFrame

Указатель на указатель ICallFrame на копию кадра вызова.

Возвращаемое значение

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Копирование кадра похоже на отмену маршалированного кадра. Кадр вызова можно скопировать только в том случае, если он имеет встроенные параметры. Если вызывается кадр вызова, его невозможно скопировать. Метод копирования копирует указатели интерфейса в виде двоичных значений, и корректировки счетчика, на которые указывает ссылка, не выполняются. Но если это необходимо, можно использовать указатель на ICallFrameWalker .

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header callobj.h

См. также раздел

ICallFrame