перечисление 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 |