Condividi tramite


Metodo ICallFrame::Copy (callobj.h)

Crea una copia di questo frame di chiamata e tutti i dati associati.

Avviso Il frame di chiamata non pulisce automaticamente i dati copiati. Pertanto, una volta restituita la copia, l'utente è responsabile della chiamata a Free nella copia del frame. Questa operazione deve essere eseguita per evitare una perdita di memoria.
 

Sintassi

HRESULT Copy(
  [in]  CALLFRAME_COPY   copyControl,
  [in]  ICallFrameWalker *pWalker,
  [out] ICallFrame       **ppFrame
);

Parametri

[in] copyControl

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. Per un elenco di valori, vedere l'enumerazione CALLFRAME_COPY . Se il flag CALLFRAME_COPY_NESTED è impostato, il client sarà responsabile dell'uso del frame di chiamata copiato in modo che la sua durata sia annidata nella durata del frame padre che rende i dati condivisibili. Se la CALLFRAME_COPY_INDEPENDENT è impostata, la durata del frame copiato sarà indipendente dai genitori.

[in] pWalker

Puntatore a un'istanza dell'interfaccia ICallFrameWalker . Il metodo OnWalkInterface verrà chiamato per ogni puntatore dell'interfaccia copiato. Se questo parametro non viene specificato, qualsiasi puntatore dell'interfaccia copiato verrà passato a AddRef.

[out] ppFrame

Puntatore a un puntatore ICallFrame a una copia del frame di chiamata.

Valore restituito

Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

La copia di una cornice è come unmarshalling di una cornice marshalling. Il frame di chiamata può essere copiato solo se ha parametri in-parameter. Se il frame di chiamata viene richiamato, non può essere copiato. Il metodo di copia copia i puntatori dell'interfaccia come valori binari e non vengono eseguite modifiche di conteggio a cui si fa riferimento. Tuttavia, se questo comportamento è desiderato, è possibile usare un puntatore a ICallFrameWalker .

Requisiti

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

Vedi anche

ICallFrame