coGetInterfaceAndReleaseStream 函数 (combaseapi.h)
取消封送包含接口指针的缓冲区,并在接口指针从另一个线程封送到调用线程时释放流。
语法
HRESULT CoGetInterfaceAndReleaseStream(
[in] LPSTREAM pStm,
[in] REFIID iid,
[out] LPVOID *ppv
);
参数
[in] pStm
指向要取消封送的流上的 IStream 接口的指针。
[in] iid
对从未封送对象请求的接口标识符的引用。
[out] ppv
接收 riid 中请求的接口指针的指针变量的地址。 成功返回后,*ppv 包含指向未封送接口的请求接口指针。
返回值
此函数可以返回S_OK和E_INVALIDARG的标准返回值,以及 CoUnmarshalInterface 返回的任何值。
注解
重要说明
安全说明:使用不受信任的数据调用此方法存在安全风险。 仅使用受信任的数据调用此方法。
- 调用 CoUnmarshalInterface 以取消对以前在 CoMarshalInterThreadInterfaceInStream 调用中传递的接口指针的封存。
- 释放流指针。 即使取消封送失败,流仍会释放,因为没有有效的方法可以从此类故障中恢复。
要求
最低受支持的客户端 | Windows 2000 专业版 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows 2000 Server [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | combaseapi.h (包括 Objbase.h) |
Library | Ole32.lib |
DLL | Ole32.dll |