ICallFrame::Unmarshal 方法 (callobj.h)
取消封送数据包,其中包含以前对此现有激活记录的调用的 [out] 参数。
语法
HRESULT Unmarshal(
[in] PVOID pBuffer,
[in] ULONG cbBuffer,
[in] RPCOLEDATAREP dataRep,
[in] CALLFRAME_MARSHALCONTEXT *pcontext,
[out] ULONG *pcbUnmarshalled
);
参数
[in] pBuffer
指向包含封送 [out] 值的缓冲区的指针。
[in] cbBuffer
缓冲区的大小(以字节为单位)。
[in] dataRep
用于封送数据的 NDR 数据表示形式。 有关详细信息,请参阅 IRpcChannelBuffer::GetBuffer。
[in] pcontext
指向 CALLFRAME_MARSHALCONTEXT 结构的指针,其中包含有关如何执行取消封存的上下文信息。
[out] pcbUnmarshalled
接收已成功取消封送的字节数。 即使在错误情况下,也会返回此参数。 此参数可选。
返回值
此方法可以返回以下值。
返回代码 | 说明 |
---|---|
|
该方法已成功完成。 |
|
发生意外错误。 |
注解
取消合并时,释放 [in, out] 参数的 [in] 版本,并释放接口指针并将其替换为 [out] 版本。 所有 [in, out] 和 [out] 参数将始终设置为合理的 [in]、[in, out] 值、[out] 值(已成功从返回的数据中取消组合)或显式初始化为 NULL 的值。 故障返回时,调用方通常需要调用 ICallFrame::Free 以清理非 NULL 值。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | callobj.h |