Condividi tramite


enumerazione CALLFRAME_COPY (callobj.h)

Determina se i dati del frame di chiamata copiati possono essere condivisi con i dati nel frame padre determinandone la dipendenza dalla durata del frame padre.

Sintassi

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

Costanti

 
CALLFRAME_COPY_NESTED
Valore: 1
Il client sarà responsabile dell'uso del frame di chiamata copiato in modo che la sua durata sia annidata nella durata del frame padre rendendo condivisibili i dati. Quando questo flag viene usato, è possibile effettuare ottimizzazioni molto significative e le allocazioni di memoria evitate tramite la condivisione intelligente dei dati dei parametri effettivi.

Solo i puntatori di interfaccia raggiungibili in modo transitivo nei fotogrammi di origine devono essere copiati in modo profondo e quindi nella copia vengono archiviati in memoria separati da quello in cui vengono archiviati nei frame di origine; altri tipi di dati possono effettivamente essere presenti nella memoria di condivisione fotogramma copiata con l'origine se l'operazione di copia è abbastanza intelligente a tale scopo.
CALLFRAME_COPY_INDEPENDENT
Valore: 2
Il frame di chiamata copiato avrà una durata indipendente dal relativo padre.

Commenti

Una conseguenza è che, a seconda di questi flag di CALLFRAME_COPY , vengono passati a ICallFrame::Copy, i puntatori dell'interfaccia possono essere modificati senza conseguenza di disturbare i puntatori dell'interfaccia che risiedono nel frame padre.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Intestazione callobj.h

Vedi anche

ICallFrame::Copy