ICallFrame::GetMarshalSizeMax method

Retrieves an upper bound on the number of bytes needed to marshal the call frame.

Usually an interface proxy calls this method to learn how big a buffer is needed, allocates the buffer, and then calls the Marshal method to carry out the marshalling.

Syntax


HRESULT GetMarshalSizeMax(
  [in]  CALLFRAME_MARSHALCONTEXT *pmshlContext,
  [in]  MSHLFLAGS                mshlflags,
  [out] ULONG                    *pcbBufferNeeded
);

Parameters

pmshlContext [in]

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

mshlflags [in]

Indicates whether the data to be marshaled is to be transmitted back to the client process — the normal case — or written to a global table, where it can be retrieved by multiple clients. For a list of values, see the MSHLFLAGS enumeration.

pcbBufferNeeded [out]

A pointer to the size of the buffer, in bytes, that will be needed to marshal the call frame.

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

See also

ICallFrame

 

 

Show: