ICallUnmarshal::Unmarshal method (callobj.h)
Turns a marshaled packet of data back into an activation record that can then be invoked or manipulated in some other way.
Syntax
HRESULT Unmarshal(
[in] ULONG iMethod,
[in] PVOID pBuffer,
[in] ULONG cbBuffer,
[in] BOOL fForceBufferCopy,
[in] RPCOLEDATAREP dataRep,
[in] CALLFRAME_MARSHALCONTEXT *pcontext,
[out] ULONG *pcbUnmarshalled,
[out] ICallFrame **ppFrame
);
Parameters
[in] iMethod
The method number. If this parameter is -1, the method number will be determined from the data to be unmarshaled.
[in] pBuffer
A pointer to the buffer from which the activation record is to be created.
[in] cbBuffer
The size of the buffer, in bytes.
[in] fForceBufferCopy
Indicates whether the buffer should be copied and retained (nonzero) or the buffer will remain valid (zero).
[in] dataRep
The data representation with which the data was marshaled.
[in] pcontext
A pointer to a CALLFRAME_MARSHALCONTEXT structure that contains information about the context in which unmarshaling is to be carried out.
[out] pcbUnmarshalled
A pointer to the number of bytes that were successfully unmarshaled.
[out] ppFrame
A call frame bound to the umarshaled invocation.
Return value
This method can return the following values.
Return code | Description |
---|---|
|
The method completed successfully. |
|
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 |