ICallFrame::Copy-Methode (callobj.h)

Erstellt eine Kopie dieses Aufrufrahmens und aller zugehörigen Daten.

Warnung Der Aufrufframe sauber die kopierten Daten nicht automatisch auf. Daher ist der Benutzer nach der Rückgabe der Kopie für den Aufruf von Free für die Framekopie verantwortlich. Dies muss erfolgen, um einen Speicherverlust zu vermeiden.
 

Syntax

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

Parameter

[in] copyControl

Bestimmt, ob die kopierten Aufrufframedaten für Daten im übergeordneten Frame freigegeben werden können, indem die Lebensdauerabhängigkeit vom übergeordneten Frame bestimmt wird. Eine Liste der Werte finden Sie in der CALLFRAME_COPY-Enumeration . Wenn das CALLFRAME_COPY_NESTED-Flag festgelegt ist, ist der Client dafür verantwortlich, den kopierten Aufrufrahmen so zu verwenden, dass seine Lebensdauer in der Lebensdauer seines übergeordneten Frames geschachtelt ist, sodass die Daten freigegeben werden können. Wenn die CALLFRAME_COPY_INDEPENDENT festgelegt ist, ist die Lebensdauer des kopierten Frames unabhängig von den übergeordneten Elementen.

[in] pWalker

Ein Zeiger auf eine instance der ICallFrameWalker-Schnittstelle. Die OnWalkInterface-Methode wird für jeden kopierten Schnittstellenzeiger aufgerufen. Wenn dieser Parameter nicht angegeben wird, wird jeder kopierte Schnittstellenzeiger an AddRef übergeben.

[out] ppFrame

Ein Zeiger auf einen ICallFrame-Zeiger auf eine Kopie des Aufrufframes.

Rückgabewert

Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Das Kopieren eines Frames ist wie das Aufheben eines gemarshallten Rahmens. Der Aufrufrahmen kann nur kopiert werden, wenn er über Parameter verfügt. Wenn der Aufrufrahmen aufgerufen wird, kann er nicht kopiert werden. Die Kopiermethode kopiert Schnittstellenzeiger als Binärwerte, und es werden keine Anpassungen der Anzahl ausgeführt, auf die verwiesen wird. Wenn dieses Verhalten jedoch gewünscht ist, kann ein Zeiger auf ICallFrameWalker verwendet werden.

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