ICallFrame::Unmarshal-Methode (callobj.h)

Entmarstet ein Datenpaket, das die zuvor gemarsteten [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 [out]-Werte enthält.

[in] cbBuffer

Die Größe des Puffers in Bytes.

[in] dataRep

Die NDR-Datendarstellung, mit der die Daten gemarschiert wurden. Weitere Informationen finden Sie unter IRpcChannelBuffer::GetBuffer.

[in] pcontext

Ein Zeiger auf die CALLFRAME_MARSHALCONTEXT Struktur, die Kontextinformationen dazu enthält, wie die Entmarshallung durchgeführt wird.

[out] pcbUnmarshalled

Empfängt die Anzahl der Bytes, die erfolgreich unvermart 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
S_OK
Die Methode wurde erfolgreich abgeschlossen.
E_UNEXPECTED
Ein unerwarteter Fehler ist aufgetreten.

Hinweise

Bei der Entmarsung werden die [in]-Versionen von [in, out]-Parameter freigelassen und Schnittstellenzeiger freigegeben und durch ihre [out]-Versionen ersetzt. Alle Parameter [in, out] und [out] werden immer auf angemessene [in], [in, out]-Werte, [out]-Werte, [out] werte, die erfolgreich aus den zurückgegebenen Daten getrennt wurden, oder ein Wert, der explizit auf NULL initialisiert wurde, festgelegt. Bei der Fehlerrückgabe möchte der Aufrufer in der Regel ICallFrame::Free aufrufen, um die Werte zu bereinigen, die nicht NULL sind.

Anforderungen

   
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

ICallFrame