次の方法で共有


HrAllocAdviseSink

適用対象: Outlook 2013 | Outlook 2016

呼び出し元の実装で指定されたコンテキストと、イベント通知によってトリガーされるコールバック関数を指定して、アドバイズ シンク オブジェクトを作成します。

プロパティ
ヘッダー ファイル:
Mapiutil.h
実装元:
MAPI
呼び出し元:
クライアント アプリケーションとサービス プロバイダー
STDAPI HrAllocAdviseSink(
  LPNOTIFCALLBACK lpfnCallback,
  LPVOID lpvContext,
  LPMAPIADVISESINK FAR * lppAdviseSink
);

パラメーター

lpfnCallback

[in]新しく作成されたアドバイズ シンクに対して通知イベントが発生したときに MAPI が呼び出す NOTIFCALLBACK プロトタイプに基づくコールバック関数へのポインター。

lpvContext

[in]MAPI がそれを呼び出すときにコールバック関数に渡される呼び出し元データへのポインター。 呼び出し元データは、クライアントまたはプロバイダーにとって重要なアドレスを表すことができます。 通常、C++ コードの場合、 lpvContext パラメーターはオブジェクトのアドレスへのポインターを表します。

lppAdviseSink

[out]アドバイズ シンク オブジェクトへのポインターへのポインター。

戻り値

なし。

注釈

HrAllocAdviseSink 関数を使用するには、クライアント アプリケーションまたはサービス プロバイダーが、通知を受信するオブジェクトを作成し、そのオブジェクトに付属する NOTIFCALLBACK 関数プロトタイプに基づいて通知コールバック関数を作成し、HrAllocAdviseSink 関数のオブジェクトへのポインターを lpvContext 値として渡します。 これを行うと、通知が実行されます。MAPI は、通知プロセスの一環として、コンテキストとしてオブジェクト ポインターを使用してコールバック関数を呼び出します。

MAPI は、その通知エンジンを非同期的に実装します。 C++ では、通知コールバックをオブジェクト メソッドにすることができます。 通知を生成するオブジェクトが存在しない場合、通知を要求するクライアントまたはプロバイダーは、オブジェクトのアドバイズ シンクのそのオブジェクトの個別の参照カウントを保持する必要があります。

注意

HrAllocAdviseSink は控えめに使用する必要があります。クライアントが独自のアドバイス シンクを作成する方が安全です。