Freigeben über


ICallUnmarshal::ReleaseMarshalData-Methode (callobj.h)

Gibt Ressourcen frei, die von Schnittstellenzeigern gespeichert werden können, die sich in einem Paket gemarster Daten befinden. Diese Methode findet alle Schnittstellenzeiger im Paket und ruft die CoReleaseMarshalData-Funktion auf jedem Schnittstellenzeiger auf.

Syntax

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

Parameter

[in] iMethod

Die Methodennummer.

[in] pBuffer

Ein Zeiger auf den Puffer, der die gemarselten Parameter enthält.

[in] cbBuffer

Die Größe des Puffers in Bytes.

[in] ibFirstRelease

Das erste Byte im Puffer, das freigegeben werden soll. Ein Wert von 0 bedeutet, dass die Schnittstellenzeiger im gesamten Puffer freigegeben werden sollen. Die Idee besteht darin, dass gemarmpte Schnittstellenzeiger vor dem angegebenen Byte angenommen werden, dass sie bereits von einem anderen Mechanismus freigegeben wurden.

[in] dataRep

Die Datendarstellung, mit der die Daten gemarst wurden.

[in] pcontext

Ein Zeiger auf eine CALLFRAME_MARSHALCONTEXT Struktur, die Informationen über den Kontext enthält, in dem die Entmardung durchgeführt werden soll.

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

Zum sauber von Ressourcen, die sich im gemarsten Puffer befinden, muss die ReleaseMarshalData-Methode aufgerufen werden. Wenn die MSHLFLAGS-Enumeration jedoch auf normal festgelegt ist, erfolgt dies automatisch beim Aufheben der Verbindung.

ReleaseMarshalData kann sowohl für gemarselte ein- als auch für out-Parameter 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

ICallUnmarshal