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 code | Description |
|---|---|
|
The method completed successfully. |
|
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 |
|
|
IDL |
|
|
IID |
IID_ICallFrame is defined as D573B4B0-894E-11d2-B8B6-00C04FB9618A |
See also