ICallUnmarshal::Unmarshal 方法 (callobj.h)
将封送数据包重新转换为激活记录,然后可以通过其他方式调用或操作该记录。
语法
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
);
参数
[in] iMethod
方法编号。 如果此参数为 -1,则将从要取消封送的数据中确定方法编号。
[in] pBuffer
指向要从中创建激活记录的缓冲区的指针。
[in] cbBuffer
缓冲区的大小(以字节为单位)。
[in] fForceBufferCopy
指示是否应复制缓冲区并保留 (非零) ,还是缓冲区保持有效 (零) 。
[in] dataRep
用于封送数据的数据表示形式。
[in] pcontext
指向 CALLFRAME_MARSHALCONTEXT 结构的指针,该结构包含有关要执行取消封送的上下文的信息。
[out] pcbUnmarshalled
指向已成功取消封送的字节数的指针。
[out] ppFrame
绑定到 umarshaled 调用的调用帧。
返回值
此方法可以返回以下值。
返回代码 | 说明 |
---|---|
|
该方法已成功完成。 |
|
发生意外错误。 |
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | callobj.h |