ICallUnmarshal::Unmarshal method
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
- iMethod [in]
-
The method number. If this parameter is -1, the method number will be determined from the data to be unmarshaled.
- pBuffer [in]
-
A pointer to the buffer from which the activation record is to be created.
- cbBuffer [in]
-
The size of the buffer, in bytes.
- fForceBufferCopy [in]
-
Indicates whether the buffer should be copied and retained (nonzero) or the buffer will remain valid (zero).
- dataRep [in]
-
The data representation with which the data was marshaled.
- pcontext [in]
-
A pointer to a CALLFRAME_MARSHALCONTEXT structure that contains information about the context in which unmarshaling is to be carried out.
- pcbUnmarshalled [out]
-
A pointer to the number of bytes that were successfully unmarshaled.
- ppFrame [out]
-
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
|
Minimum supported client |
Windows 2000 Professional [desktop apps only] |
|---|---|
|
Minimum supported server |
Windows 2000 Server [desktop apps only] |
|
Header |
|
|
IDL |
|
|
IID |
IID_ICallUnmarshal is defined as 5333B003-2E42-11d2-B89D-00C04FB9618A |
See also