CoReleaseMarshalData-Funktion (combaseapi.h)
Zerstört ein zuvor gemarschtes Datenpaket.
Syntax
HRESULT CoReleaseMarshalData(
[in] LPSTREAM pStm
);
Parameter
[in] pStm
Ein Zeiger auf den Stream, der das zu zerstörende Datenpaket enthält. Siehe IStream.
Rückgabewert
Diese Funktion kann die Standardrückgabewerte E_FAIL, E_INVALIDARG, E_OUTOFMEMORY und E_UNEXPECTED sowie die folgenden Werte zurückgeben.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Das Datenpaket wurde erfolgreich zerstört. |
|
Ein Fehler im Zusammenhang mit dem pStm-Parameter . |
|
Die CoInitialize - oder OleInitialize-Funktion wurde im aktuellen Thread nicht aufgerufen, bevor diese Funktion aufgerufen wurde. |
Hinweise
Sicherheitshinweis: Das Aufrufen dieser Methode mit nicht vertrauenswürdigen Daten ist ein Sicherheitsrisiko. Rufen Sie diese Methode nur mit vertrauenswürdigen Daten auf.
- Die Funktion liest eine CLSID aus dem Stream.
- Wenn die standardmäßige Marshallimplementierung von COM verwendet wird, erhält die Funktion einen IMarshal-Zeiger auf eine instance des Standard-Entmarsshalers. Wenn benutzerdefiniertes Marshalling verwendet wird, erstellt die Funktion einen Proxy, indem sie die CoCreateInstance-Funktion aufruft , die CLSID übergibt, die sie aus dem Stream gelesen hat, und fordert einen IMarshal-Schnittstellenzeiger auf den neu erstellten Proxy an.
- Mit dem erworbenen IMarshal-Schnittstellenzeiger ruft die Funktion IMarshal::ReleaseMarshalData auf.
- Es wurde versucht, das Datenpaket wieder zu entmarsen, aber es ist fehlgeschlagen.
- Ein gemarseltes Datenpaket wurde aus einer globalen Tabelle entfernt.
Beachten Sie, dass Sie CoReleaseMarshalData nach einem erfolgreichen Aufruf der Funktion CoUnmarshalInterface nicht aufrufen müssen. diese Funktion gibt die Marshalldaten im Rahmen der Verarbeitung frei.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | combaseapi.h (include Objbase.h) |
Bibliothek | Ole32.lib |
DLL | Ole32.dll |