ICallFrame::Unmarshal-Methode (callobj.h)
Hebt ein Datenpaket auf, das die zuvor gemarshallten [out]-Parameter eines Aufrufs in diesen bereits vorhandenen Aktivierungsdatensatz enthält.
Syntax
HRESULT Unmarshal(
[in] PVOID pBuffer,
[in] ULONG cbBuffer,
[in] RPCOLEDATAREP dataRep,
[in] CALLFRAME_MARSHALCONTEXT *pcontext,
[out] ULONG *pcbUnmarshalled
);
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] dataRep
Die NDR-Datendarstellung, mit der die Daten gemarshallt wurden. Weitere Informationen finden Sie unter IRpcChannelBuffer::GetBuffer.
[in] pcontext
Ein Zeiger auf die CALLFRAME_MARSHALCONTEXT-Struktur , die Kontextinformationen darüber enthält, wie die Entmarshallung durchgeführt wird.
[out] pcbUnmarshalled
Empfängt die Anzahl der Bytes, die erfolgreich entmarshaliert wurden. Dieser Parameter wird auch in Fehlersituationen zurückgegeben. Dieser Parameter ist optional.
Rückgabewert
Diese Methode kann die folgenden Werte zurückgeben.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Die Methode wurde erfolgreich abgeschlossen. |
|
Ein unerwarteter Fehler ist aufgetreten. |
Hinweise
Beim Aufheben der Entmarshallung werden die [in]-Versionen der Parameter [in, out] freigegeben, und Schnittstellenzeiger werden freigegeben und durch ihre [out]-Versionen ersetzt. Alle Parameter [in, out] und [out] werden immer auf vernünftige [in-, out]-Werte, [out]-Werte, [out]-Werte, die erfolgreich aus den zurückgegebenen Daten entfernt wurden, oder auf einen Wert festgelegt, der explizit auf NULL initialisiert wurde. Bei der Fehlerrückgabe möchte der Aufrufer in der Regel ICallFrame::Free aufrufen, um die Werte zu sauber, die nicht NULL sind.
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 |