Метод ICallFrame::Copy (callobj.h)
Создает копию этого кадра вызова и всех связанных с ним данных.
Синтаксис
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 |