ICallFrame::GetMarshalSizeMax method (callobj.h)

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

[in] pmshlContext

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

[in] mshlflags

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.

[out] pcbBufferNeeded

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 code Description
S_OK
The method completed successfully.
E_UNEXPECTED
An unexpected error has occurred.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header callobj.h

See also

ICallFrame