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 |
---|---|
|
Die Methode wurde erfolgreich abgeschlossen. |
|
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 |