IConnectionPoint::Advise 方法 (ocidl.h)

在连接点对象和客户端的接收器之间建立连接。

语法

HRESULT Advise(
  [in]  IUnknown *pUnkSink,
  [out] DWORD    *pdwCookie
);

参数

[in] pUnkSink

指向客户端的建议接收器上的 IUnknown 接口的指针。 客户端的接收器接收来自连接点的传出调用。

[out] pdwCookie

指向唯一标识此连接的返回令牌的指针。 调用方稍后使用此令牌通过将其传递到 IConnectionPoint::Unadvise 方法来删除连接。 如果未成功建立连接,则此值为零。

返回值

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

返回代码 说明
S_OK
连接已建立,*pdwCookie 具有连接令牌。
E_POINTER
pUnkSinkpdwCookie 中的值无效。 例如,任一指针都可以为 NULL
CONNECT_E_ADVISELIMIT
该连接点已经达到其连接极限,无法再进行接受了。
CONNECT_E_CANNOTCONNECT
接收器不支持此连接点所需的接口。

注解

建议 在连接点与使用 pUnkSink 标识的调用方接收器之间建立连接。

连接点必须调用 QueryInterface 以获取正确的传出接口指针,以便在事件发生时调用,并且连接点管理的传出接口的 IID。 将 IID 传递到 IConnectionPointContainer::FindConnectionPoint 方法时,将返回指向此相同连接点的接口指针。

实施者说明

连接点必须查询 pUnkSink 指针以获取正确的传出接口。 如果此查询失败,此方法必须返回CONNECT_E_CANNOTCONNECT。

对于与连接点的任何给定实例建立的每个连接, pdwCookie 值必须是唯一的。

要求

要求
最低受支持的客户端 Windows 2000 专业版 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows 2000 Server [桌面应用 |UWP 应用]
目标平台 Windows
标头 ocidl.h

另请参阅

IConnectionPoint