Export (0) Print
Expand All

ICallUnmarshal::Unmarshal method

Turns a marshaled packet of data back into an activation record that can then be invoked or manipulated in some other way.

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
);

Parameters

iMethod [in]

The method number. If this parameter is -1, the method number will be determined from the data to be unmarshaled.

pBuffer [in]

A pointer to the buffer from which the activation record is to be created.

cbBuffer [in]

The size of the buffer, in bytes.

fForceBufferCopy [in]

Indicates whether the buffer should be copied and retained (nonzero) or the buffer will remain valid (zero).

dataRep [in]

The data representation with which the data was marshaled.

pcontext [in]

A pointer to a CALLFRAME_MARSHALCONTEXT structure that contains information about the context in which unmarshaling is to be carried out.

pcbUnmarshalled [out]

A pointer to the number of bytes that were successfully unmarshaled.

ppFrame [out]

A call frame bound to the umarshaled invocation.

Return value

This method can return the following values.

Return codeDescription
S_OK

The method completed successfully.

E_UNEXPECTED

An unexpected error has occurred.

 

Requirements

Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]

Header

Callobj.h

IDL

Callobj.idl

IID

IID_ICallUnmarshal is defined as 5333B003-2E42-11d2-B89D-00C04FB9618A

See also

ICallUnmarshal

 

 

Community Additions

ADD
Show:
© 2014 Microsoft