Freigeben über


ICallUnmarshal::Unmarshal-Methode (callobj.h)

Wandelt ein gemarshalltes Datenpaket wieder in einen Aktivierungsdatensatz um, der dann auf andere Weise aufgerufen oder bearbeitet werden kann.

Syntax

HRESULT Unmarshal(
  [in]  ULONG                    iMethod,
  [in]  PVOID                    pBuffer,
  [in]  ULONG                    cbBuffer,
  [in]  BOOL                     fForceBufferCopy,
  [in]  RPCOLEDATAREP            dataRep,
  [in]  CALLFRAME_MARSHALCONTEXT *pcontext,
  [out] ULONG                    *pcbUnmarshalled,
  [out] ICallFrame               **ppFrame
);

Parameter

[in] iMethod

Die Methodennummer. Wenn dieser Parameter -1 ist, wird die Methodennummer aus den daten ermittelt, die nichtmarshaliert werden sollen.

[in] pBuffer

Ein Zeiger auf den Puffer, aus dem der Aktivierungsdatensatz erstellt werden soll.

[in] cbBuffer

Die Größe des Puffers in Bytes.

[in] fForceBufferCopy

Gibt an, ob der Puffer kopiert und beibehalten werden soll (ungleich null) oder ob der Puffer gültig bleibt (null).

[in] dataRep

Die Datendarstellung, mit der die Daten gemarshallt wurden.

[in] pcontext

Ein Zeiger auf eine CALLFRAME_MARSHALCONTEXT Struktur, die Informationen über den Kontext enthält, in dem die Entmarsung durchgeführt werden soll.

[out] pcbUnmarshalled

Ein Zeiger auf die Anzahl der Bytes, die erfolgreich entmarshaliert wurden.

[out] ppFrame

Ein Aufrufframe, der an den umarshalierten Aufruf gebunden ist.

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.

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

Weitere Informationen

ICallUnmarshal