перечисление CALLFRAME_COPY (callobj.h)

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

Синтаксис

typedef enum __MIDL_ICallFrame_0003 {
  CALLFRAME_COPY_NESTED = 1,
  CALLFRAME_COPY_INDEPENDENT = 2
} CALLFRAME_COPY;

Константы

 
CALLFRAME_COPY_NESTED
Значение: 1
Клиент будет отвечать за использование скопированного кадра вызова таким образом, чтобы его время существования было вложено в время существования родительского кадра, что делает данные общими. При использовании этого флага можно выполнить очень значительную оптимизацию и избежать выделения памяти путем интеллектуального обмена фактическими данными параметров.

Только указатели интерфейса, транзитивно доступные в исходных кадрах, гарантированно будут глубоко скопированы и, таким образом, в копии будут храниться в памяти отдельно от той, в которой они хранятся в исходных кадрах; Другие типы данных могут фактически в скопированном кадре совместно использовать память с источником, если операция копирования достаточно интеллектуальна для этого.
CALLFRAME_COPY_INDEPENDENT
Значение: 2
Скопированный кадр вызова будет иметь время существования независимо от родительского элемента.

Комментарии

Следствием этого является то, что любой из этих флагов CALLFRAME_COPY передается в ICallFrame::Copy, указатели интерфейса могут быть изменены без последствий нарушения указателей интерфейса, находящихся в родительском кадре.

Требования

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

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

ICallFrame::Copy