ICallFrame::GetMarshalSizeMax 方法 (callobj.h)

检索封送调用帧所需的字节数的上限。

通常,接口代理调用此方法以了解需要多大的缓冲区,分配缓冲区,然后调用 Marshal 方法来执行封送处理。

语法

HRESULT GetMarshalSizeMax(
  [in]  CALLFRAME_MARSHALCONTEXT *pmshlContext,
  [in]  MSHLFLAGS                mshlflags,
  [out] ULONG                    *pcbBufferNeeded
);

参数

[in] pmshlContext

指向 CALLFRAME_MARSHALCONTEXT 结构的指针,其中包含有关如何执行封送的上下文信息。

[in] mshlflags

指示要封送的数据是传输回客户端进程(正常情况下)还是写入全局表,多个客户端可以在其中检索这些数据。 有关值列表,请参阅 MSHLFLAGS 枚举。

[out] pcbBufferNeeded

指向封送调用帧所需的缓冲区大小的指针(以字节为单位)。

返回值

此方法可以返回以下值。

返回代码 说明
S_OK
该方法已成功完成。
E_UNEXPECTED
发生意外错误。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 callobj.h

另请参阅

ICallFrame