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