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 |