CoMarshalHresult 函数 (combaseapi.h)

HRESULT 封送到指定的流,可以使用 CoUnmarshalHresult 函数从该流取消封送。

语法

HRESULT CoMarshalHresult(
  [in] LPSTREAM pstm,
  [in] HRESULT  hresult
);

参数

[in] pstm

指向封送处理流的指针。 请参阅 IStream

[in] hresult

发起进程中的 HRESULT

返回值

此函数可以返回E_OUTOFMEMORY和E_UNEXPECTED的标准返回值,以及以下值。

返回代码 说明
S_OK
HRESULT 已成功封送。
STG_E_INVALIDPOINTER
pstm 指定了错误的指针。
STG_E_MEDIUMFULL
媒体已满。

注解

HRESULT 特定于进程,因此在一个进程中有效的 HRESULT 在另一个进程中可能无效。 如果要编写自己的 IMarshal 实现,并且需要将 HRESULT 从一个进程封送到另一个进程(作为参数或返回代码),则必须调用此函数。 在其他情况下,无需调用此函数。

此函数执行以下任务:

  1. HRESULT 写入流。
  2. 返回指向该流的 IStream 指针。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 combaseapi.h (包括 Objbase.h)
Library Ole32.lib
DLL Ole32.dll

另请参阅

CoUnmarshalHresult

IStream