IMAPISupport::Subscribe
適用対象: Outlook 2013 | Outlook 2016
MAPI 経由で通知を受信するように、アドバイズ シンクを登録します。
HRESULT Subscribe(
LPNOTIFKEY lpKey,
ULONG ulEventMask,
ULONG ulFlags,
LPMAPIADVISESINK lpAdviseSink,
ULONG FAR * lpulConnection
);
パラメーター
lpKey
[in]アドバイズ ソース オブジェクトを表す通知キーへのポインター。 lpKey パラメーターを NULL にすることはできません。
ulEventMask
[in]呼び出し元が関心を持ち、登録に含める必要がある通知イベントの種類を示す値のマスク。 次の値が有効です。
fnevCriticalError
メモリ不足などの重大なエラーに関する通知を登録します。
fnevExtended
特定のアドレス帳またはメッセージ ストア プロバイダーに固有のイベントに関する通知を登録します。
fnevNewMail
新しいメッセージの到着に関する通知を登録します。
fnevObjectCreated
新しいオブジェクトの作成に関する通知を登録します。
fnevObjectCopied
コピーされるオブジェクトに関する通知を登録します。
fnevObjectDeleted
削除されるオブジェクトに関する通知を登録します。
fnevObjectModified
変更中のオブジェクトに関する通知を登録します。
fnevObjectMoved
移動中のオブジェクトに関する通知を登録します。
fnevSearchComplete
検索操作の完了に関する通知を登録します。
ulFlags
[in]通知の発生方法を制御するフラグのビットマスク。 次のフラグを設定できます。
NOTIFY_SYNC
呼び出し元が IMAPISupport::Notify メソッドを呼び出してこのアドバイズ シンクの通知を生成する場合、 Notify は、シンクを返す前に、必要なすべての呼び出しを行ってシンクをアドバイスする必要があります。 このフラグが設定されていない場合、通知は非同期であり、コールバックは、それらのプロセスが CPU の制御を取得したときにサブスクライブおよび開始されたプロセスにキューに入れられます。
lpAdviseSink
[in]アドバイズ シンク オブジェクトへのポインター。
lpulConnection
[out]登録を表す 0 以外の接続番号へのポインター。
戻り値
S_OK
通知の登録が成功しました。
注釈
IMAPISupport::Subscribe メソッドは、すべてのサービス プロバイダー サポート オブジェクトに対して実装されます。 サービス プロバイダーは、MAPI が通知を管理できるように、いずれかのアドバイズ メソッドから Subscribe を呼び出します。
呼び出し側への注意
通知に MAPI サポート メソッドを使用するには、通知を生成する必要があるオブジェクトをアドバイス ソースのキーを作成します。 キーの値は一意である必要があり、オブジェクトが変更されるたびに簡単に再生成する必要があります。
MAPI では、通知キーを使用して、対応するアドバイズ ソースの HrAllocAdviseSink 関数を介して登録されているコールバック関数を検索します。 このキーを IMAPISupport::Notify に渡します。対応するアドバイス ソースの通知を生成する必要がある場合は常に通知します。
NOTIFY_SYNC フラグは 、Notify への後続の呼び出しの操作に影響します。 NOTIFY_SYNCを設定すると、必要なすべての通知の送信が完了するまで 、通知 は返されません。 NOTIFY_SYNCを設定しない場合、 Notify は非同期的に動作します。場合によっては、すべての通知が送信される前にが返されます。