ICallFrame::Marshal method (callobj.h)
Marshals the call frame by turning its reachable data into a flat buffer without disturbing the frame.
Syntax
HRESULT Marshal(
[in] CALLFRAME_MARSHALCONTEXT *pmshlContext,
[in] MSHLFLAGS mshlflags,
[in] PVOID pBuffer,
[in] ULONG cbBuffer,
[out] ULONG *pcbBufferUsed,
[out] RPCOLEDATAREP *pdataRep,
[out] ULONG *prpcFlags
);
Parameters
[in] pmshlContext
A pointer to the CALLFRAME_MARSHALCONTEXT structure containing context information about how marshalling is carried out.
[in] mshlflags
Flag indicating 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. The possible values are from the MSHLFLAGS enumeration.
[in] pBuffer
A pointer to the buffer into which the marshaled data is to be placed.
[in] cbBuffer
The size of the buffer, in bytes.
[out] pcbBufferUsed
Receives the size of the buffer that was actually used. This parameter is optional.
[out] pdataRep
Receives the NDR data representation with which the data was marshaled. This parameter is optional. For more information, see IRpcChannelBuffer::GetBuffer.
[out] prpcFlags
Receives an RPC flag associated with the call. This parameter is optional. For more information, see IRpcChannelBuffer::GetBuffer.
Return value
This method can return the following values.
Return code | Description |
---|---|
|
The method completed successfully. |
|
An unexpected error has occurred. |
Remarks
When marshalling the [In] versions of [in, out] parameters are present, and the [out] versions are undefined. When marshalling [out] parameters the values are valid.
If this method returns an error, the caller will not be able to clean it up. Resources such as memory transiently allocated during the attempted marshalling have been freed.
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 |