CALLFRAME_COPY enumeração (callobj.h)

Determina se os dados de quadro de chamada copiados podem ser compartilhados com dados no quadro pai determinando sua dependência de tempo de vida no quadro pai.

Syntax

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

Constantes

 
CALLFRAME_COPY_NESTED
Valor: 1
O cliente será responsável por usar o quadro de chamada copiado de uma maneira que seu tempo de vida esteja aninhado durante o tempo de vida de seu quadro pai, tornando os dados compartilháveis. Quando esse sinalizador é usado, otimizações muito significativas podem ser feitas e alocações de memória evitadas pelo compartilhamento inteligente de dados de parâmetro reais.

Somente os ponteiros de interface que podem ser acessados transitivamente nos quadros de origem têm a garantia de serem copiados profundamente e, portanto, na cópia serão armazenados na memória separados daquele em que são armazenados nos quadros de origem; outros tipos de dados poderão, na verdade, na memória de compartilhamento de quadro copiada com a origem se a operação de cópia for inteligente o suficiente para fazer isso.
CALLFRAME_COPY_INDEPENDENT
Valor: 2
O quadro de chamada copiado terá um tempo de vida independente de seu pai.

Comentários

Uma consequência é que qualquer um desses sinalizadores CALLFRAME_COPY são passados para ICallFrame::Copy, os ponteiros de interface podem ser modificados sem consequência de perturbar os ponteiros de interface que residem no quadro pai.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho callobj.h

Confira também

ICallFrame::Copy