Export (0) Print
Expand All

ICallFrame::Unmarshal method

Unmarshals a packet of data containing the previously marshaled [out] parameters of a call into this already existing activation record.

Syntax


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

Parameters

pBuffer [in]

A pointer to the buffer containing the marshaled [out] values.

cbBuffer [in]

The size of the buffer, in bytes.

dataRep [in]

The NDR data representation with which the data was marshaled. For more information, see IRpcChannelBuffer::GetBuffer.

pcontext [in]

A pointer to the CALLFRAME_MARSHALCONTEXT structure containing context information about how unmarshalling is carried out.

pcbUnmarshalled [out]

Receives the number of bytes that were successfully unmarshaled. This parameter is returned even in error situations. This parameter is optional.

Return value

This method can return the following values.

Return codeDescription
S_OK

The method completed successfully.

E_UNEXPECTED

An unexpected error has occurred.

 

Remarks

When unmarshalling, the [in] versions of [in, out] parameters are freed and interface pointers are released and replaced with there [out] versions. All the [in, out] and [out] parameters will always be set to reasonable [in], [in, out] values, [out] values successfully unmarshaled from the returned data, or a value explicitly initialized to NULL. On failure return, the caller will typically want to call ICallFrame::Free in order to clean up the values that are not NULL.

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_ICallFrame is defined as D573B4B0-894E-11d2-B8B6-00C04FB9618A

See also

ICallFrame

 

 

Community Additions

ADD
Show:
© 2014 Microsoft