IOleAdviseHolder::Advise メソッド (oleidl.h)

OLE オブジェクトと呼び出し元オブジェクトのアドバイザリ シンクの間にアドバイザリ接続を確立します。 そのシンクを介して、呼び出し元のオブジェクトは、OLE オブジェクトの名前が変更、保存、または閉じられたときに通知を受け取ることができます。

構文

HRESULT Advise(
  [in]  IAdviseSink *pAdvise,
  [out] DWORD       *pdwConnection
);

パラメーター

[in] pAdvise

変更を通知する必要があるアドバイザリ シンクの IAdviseSink インターフェイスへのポインター。

[out] pdwConnection

アドバイザリ接続を削除するために IOleAdviseHolder::Unadvise メソッドに渡すことができるトークンへのポインター。 呼び出し元のオブジェクトは、このポインターで IUnknown::AddRefIUnknown::Release の両方を呼び出す役割を担います。

戻り値

このメソッドは、成功したS_OKを返します。 その他の可能な戻り値は次のとおりです。

リターン コード 説明
E_INVALIDARG
指定された IAdviseSink インターフェイス ポインターが無効です。

注釈

コンテナー、オブジェクト ハンドラー、およびリンク オブジェクトはすべて、埋め込みオブジェクトやリンク オブジェクトなど、目的の複合ドキュメント オブジェクトの変更の通知を受け取るようにシンクにアドバイスします。 これらのオブジェクトに関心のある OLE オブジェクトは 、IOleObject ::Advise など、いくつかのアドバイザリ メソッドを含む IOleObject インターフェイスを実装する必要があります。 このメソッドの呼び出しでは、それを呼び出すアドバイザリ シンクとのアドバイザリ接続を設定し、閉じるまで各接続を維持する必要があります。 一度に複数のアドバイザリ接続を処理できる必要があります。

IOleAdviseHolder::Advise は、 IOleObject::Advise の実装を簡略化するために使用することを目的としています。 CreateOleAdviseHolder を呼び出すことで、 IOleAdviseHolder の OLE 実装へのポインターを取得できます。次に、 IOleObject::Advise を実装するには、呼び出しを IOleAdviseHolder::Advise に委任するだけです。 その他 の IOleAdviseHolder メソッドは、他の IOleObject アドバイザリ メソッドを実装するためのものです。

アドバイザリ接続の確立が成功した場合、呼び出しを受け取るオブジェクトは pdwConnection を介して 0 以外の値を返します。 試行が失敗した場合、オブジェクトは 0 を返します。 アドバイザリ接続を削除するために、アドバイザリ シンクを持つオブジェクトは 、IOleAdviseHolder::Advise を呼び出して、この 0 以外のトークンをオブジェクトに渡します。

要件

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

こちらもご覧ください

IOleAdviseHolder

IOleAdviseHolder::EnumAdvise

IOleAdviseHolder::Unadvise

IOleObject::Advise