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