Freigeben über


ICallFrame::Free-Methode (callobj.h)

Gibt die Framekopie frei, um einen Speicherverlust zu vermeiden.

Wenn eine Kopie eines Aufrufframes mit der Copy-Methode erstellt wird, sauber der Aufrufframe die kopierten Daten nicht automatisch auf. Daher ist der Benutzer nach der Rückgabe einer Kopie des Aufrufframes dafür verantwortlich, die Free-Methode aufzurufen, um die Framekopie freizugeben und einen Speicherverlust zu vermeiden.

Syntax

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

Parameter

[in] pframeArgsDest

Ein Zeiger auf eine instance der ICallFrame-Schnittstelle. Stellt den Stapelzeiger des Aufrufrahmens dar, in den die out-Parameter kopiert werden sollen, bevor die Framekopie freigegeben wird. Der Zielframe ist in der Regel der übergeordnete Frame, aus dem der Frame ursprünglich kopiert wurde. Dieser Parameter ist optional.

Wenn Sie einen Frame freigeben und einen pframeArgsDest-Parameter angeben, der sich im gleichen Speicherplatz wie der Des Empfängerframes befindet, wird nur der pWalkerCopy-Parameter für jeden Schnittstellenzeiger aufgerufen.

[in] pWalkerDestFree

Ein Zeiger auf eine instance der ICallFrameWalker-Schnittstelle. Wenn in pframeArgsDest In- und Out-Parameter vorhanden sind, erfordert die Weitergabe, dass diese Werte freigegeben werden. Durch Bereitstellen des pWalkerDestFree-Objekts werden Schnittstellenzeiger freigegeben. Wenn pframeArgsDestNULL ist, muss auch dieser Parameter NULL sein, und die Schnittstellenzeiger sollten durch Aufrufen der Release-Methode freigegeben werden.

[in] pWalkerCopy

Ein Zeiger auf eine instance der ICallFrameWalker-Schnittstelle. Wenn die Parameter "in" und "out" in pframeArgsDest freigegeben werden, wird die Weitergabe von Out-Parametern durchgeführt. Wenn dieser Parameter nicht angegeben ist, werden die Schnittstellenzeiger an AddRef übergeben. Dieser Parameter ist optional.

[in] freeFlags

Flags aus der CALLFRAME_FREE-Enumeration .

[in] pWalkerFree

Ein Zeiger auf eine instance der ICallFrameWalker-Schnittstelle. Wenn angegeben, wird für jeden Schnittstellenzeiger, der beim Freigeben auftritt, ein Rückruf durchgeführt. Wenn dieser Parameter nicht angegeben wird, werden die Schnittstellenzeiger durch die Release-Methode freigegeben.

[in] nullFlags

Flags aus der CALLFRAME_NULL-Enumeration .

Rückgabewert

Diese Methode kann die folgenden Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Die Methode wurde erfolgreich abgeschlossen.
E_UNEXPECTED
Ein unerwarteter Fehler ist aufgetreten.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile callobj.h

Weitere Informationen

ICallFrame