Freigeben über


ICallFrame::ReleaseMarshalData-Methode (callobj.h)

Gibt Ressourcen frei, die von Schnittstellenzeigern in einem Paket gemarshallter Daten gespeichert werden. Diese Methode findet alle Schnittstellenzeiger im Paket und ruft die CoReleaseMarshalData-Funktion auf.

Syntax

HRESULT ReleaseMarshalData(
  [in] PVOID                    pBuffer,
  [in] ULONG                    cbBuffer,
  [in] ULONG                    ibFirstRelease,
  [in] RPCOLEDATAREP            dataRep,
  [in] CALLFRAME_MARSHALCONTEXT *pcontext
);

Parameter

[in] pBuffer

Ein Zeiger auf den Puffer, der die gemarshallten [out]-Werte enthält.

[in] cbBuffer

Die Größe des Puffers in Bytes.

[in] ibFirstRelease

Das erste Byte im Puffer, das freigegeben werden soll. Der Wert 0 (null) impliziert, dass die Schnittstellenzeiger im gesamten Puffer freigegeben werden sollen. Es wird angenommen, dass die gemarshallten Schnittstellenzeiger von einem anderen Mechanismus freigegeben wurden.

[in] dataRep

Die Datendarstellung, mit der die Daten gemarshallt wurden.

[in] pcontext

Ein Zeiger auf die CALLFRAME_MARSHALCONTEXT-Struktur , die Kontextinformationen zur Durchführung des Un-Marshallings enthält.

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.

Hinweise

Die ReleaseMarshalData-Methode muss genau einmal aufgerufen werden, um die ressourcen in einem gemarshallten Puffer zu sauber. Wenn die MSHLFLAGS-Enumeration jedoch auf MSHLFLAGS_NORMAL festgelegt ist, erfolgt dies automatisch während des Entmarshallings und muss daher nicht explizit ausgeführt werden.

Diese Methode kann sowohl für gemarshallte [in]- als auch für [out]-Parameter ordnungsgemäß funktionieren.

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