次の方法で共有


IConnectionPoint::Advise メソッド (ocidl.h)

接続ポイント オブジェクトとクライアントのシンクの間の接続を確立します。

構文

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

パラメーター

[in] pUnkSink

クライアントのアドバイズ シンク上の IUnknown インターフェイスへのポインター。 クライアントのシンクは、接続ポイントから発信呼び出しを受信します。

[out] pdwCookie

この接続を一意に識別する、返されたトークンへのポインター。 呼び出し元は後でこのトークンを使用して、 接続を IConnectionPoint::Unadvise メソッドに渡すことで接続を削除します。 接続が正常に確立されなかった場合、この値は 0 です。

戻り値

このメソッドは、E_OUTOFMEMORYおよびE_UNEXPECTED標準の戻り値と、次の値を返すことができます。

リターン コード 説明
S_OK
接続が確立され、*pdwCookie に接続トークンがあります。
E_POINTER
pUnkSink または pdwCookie の値が無効です。 たとえば、どちらのポインターも NULL になる場合があります。
CONNECT_E_ADVISELIMIT
コネクション ポイントは既に最大接続数に達していて、これ以上受け入れられません。
CONNECT_E_CANNOTCONNECT
この接続ポイントに必要なインターフェイスがシンクでサポートされていません。

注釈

Advise は、接続ポイントと pUnkSink で識別された呼び出し元のシンクとの間の接続を確立します。

接続ポイントは QueryInterface を 呼び出して、イベントが発生したときに呼び出す正しい発信インターフェイス ポインターを取得し、接続ポイントによって管理される送信インターフェイスの IID を使用する必要があります。 IID が IConnectionPointContainer::FindConnectionPoint メソッドに渡されると、この同じ接続ポイントへのインターフェイス ポインターが返されます。

実装者へのメモ

接続ポイントは、正しい出力インターフェイスについて pUnkSink ポインターに対してクエリを実行する必要があります。 このクエリが失敗した場合、このメソッドは CONNECT_E_CANNOTCONNECTを返す必要があります。

pdwCookie 値は、接続ポイントの特定のインスタンスへの接続ごとに一意である必要があります。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー ocidl.h

関連項目

IConnectionPoint