Condividi tramite


Metodo ICallFrame::Free (callobj.h)

Libera la copia del frame per evitare una perdita di memoria.

Quando viene creata una copia di un frame di chiamata con il metodo Copy , il frame di chiamata non pulisce automaticamente i dati copiati. Pertanto, dopo la restituzione di una copia del frame di chiamata, l'utente è responsabile della chiamata del metodo Free per liberare la copia dei fotogrammi ed evitare una perdita di memoria.

Sintassi

HRESULT Free(
  [in] ICallFrame       *pframeArgsDest,
  [in] ICallFrameWalker *pWalkerDestFree,
  [in] ICallFrameWalker *pWalkerCopy,
  [in] DWORD            freeFlags,
  [in] ICallFrameWalker *pWalkerFree,
  [in] DWORD            nullFlags
);

Parametri

[in] pframeArgsDest

Puntatore a un'istanza dell'interfaccia ICallFrame . Rappresenta il puntatore dello stack del frame di chiamata in cui devono essere copiati i parametri out prima che la copia del frame venga liberata. Il frame di destinazione è in genere il frame padre da cui è stato originariamente copiato il frame. Questo parametro è facoltativo e,

Quando si libera un frame e si specifica un parametro pframeArgsDest che si trova nello stesso spazio di memoria del frame ricevitore, viene chiamato solo il parametro pWalkerCopy in ogni puntatore di interfaccia.

[in] pWalkerDestFree

Puntatore a un'istanza dell'interfaccia ICallFrameWalker . Se esistono parametri in e out in pframeArgsDest, la propagazione richiede che tali valori vengano liberati. Fornendo l'oggetto pWalkerDestFree , i puntatori all'interfaccia verranno liberati. Se pframeArgsDest è NULL, questo parametro deve anche essere NULL e i puntatori di interfaccia devono essere rilasciati chiamando il metodo Release .

[in] pWalkerCopy

Puntatore a un'istanza dell'interfaccia ICallFrameWalker . Quando i parametri in e out in pframeArgsDest vengono liberati, viene eseguita la propagazione dei parametri out. Se questo parametro non viene specificato, i puntatori di interfaccia verranno passati a AddRef. Questo parametro è facoltativo e,

[in] freeFlags

Flag dall'enumerazione CALLFRAME_FREE .

[in] pWalkerFree

Puntatore a un'istanza dell'interfaccia ICallFrameWalker . Se specificato, viene eseguito un callback per ogni puntatore di interfaccia rilevato durante la liberazione. Se questo parametro non viene specificato, i puntatori di interfaccia vengono liberati dal metodo Release .

[in] nullFlags

Flag dell'enumerazione CALLFRAME_NULL .

Valore restituito

Questo metodo può restituire i valori seguenti.

Codice restituito Descrizione
S_OK
Metodo completato correttamente.
E_UNEXPECTED
Si è verificato un errore imprevisto.

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