IMAPISupport::SubscribeIMAPISupport::Subscribe

適用されます: OutlookApplies to: Outlook

MAPI 経由の通知を受信するアドバイズ シンクを登録します。Registers an advise sink to receive notifications through MAPI.

HRESULT Subscribe(
LPNOTIFKEY lpKey,
ULONG ulEventMask,
ULONG ulFlags,
LPMAPIADVISESINK lpAdviseSink,
ULONG FAR * lpulConnection
);

ParametersParameters

lpKeylpKey

[in]アドバイズのソース オブジェクトを表す通知キーへのポインター。[in] A pointer to a notification key that represents the advise source object. _LpKey_パラメーターは、NULL にすることはできません。The lpKey parameter cannot be NULL.

ulEventMaskulEventMask

[in]呼び出し元に興味を持って登録に含めることが通知イベントの種類を示す値のマスク。[in] A mask of values that indicate the types of notification events that the caller is interested in and should be included in the registration. 次の値は、有効です。The following values are valid:

fnevCriticalErrorfnevCriticalError

メモリ不足などの重大なエラーに関する通知を登録します。Registers for notifications about severe errors, such as insufficient memory.

fnevExtendedfnevExtended

プロバイダーを格納する特定のアドレス帳またはメッセージに特定のイベントに関する通知を登録します。Registers for notifications about events specific to the particular address book or message store provider.

fnevNewMailfnevNewMail

新しいメッセージの到着の通知を登録します。Registers for notifications about the arrival of new messages.

fnevObjectCreatedfnevObjectCreated

新しいオブジェクトの作成についての通知を登録します。Registers for notifications about the creation of a new object.

fnevObjectCopiedfnevObjectCopied

コピーされているオブジェクトについての通知を登録します。Registers for notifications about an object being copied.

fnevObjectDeletedfnevObjectDeleted

削除されているオブジェクトについての通知を登録します。Registers for notifications about an object being deleted.

fnevObjectModifiedfnevObjectModified

変更されているオブジェクトについての通知を登録します。Registers for notifications about an object being modified.

fnevObjectMovedfnevObjectMoved

移動されるオブジェクトについての通知を登録します。Registers for notifications about an object being moved.

fnevSearchCompletefnevSearchComplete

検索操作の完了に関する通知を登録します。Registers for notifications about the completion of a search operation.

ulFlagsulFlags

[in]通知がどのように行われるかを制御するフラグのビットマスクです。[in] A bitmask of flags that controls how notification occurs. 次のフラグを設定することができます。The following flag can be set:

NOTIFY_SYNCNOTIFY_SYNC

通知がアドバイズ シンクに必要なすべての呼び出しをする必要がありますこのアドバイズ シンクに通知を生成するIMAPISupport::Notifyメソッドを呼び出すと、呼び出し元に返す前にします。When the caller calls the IMAPISupport::Notify method to generate notifications for this advise sink, Notify should make all necessary calls to advise sinks before returning. このフラグが設定されていない場合の通知は非同期な購読があり、それらのプロセスが CPU の制御を取得するときに起動しているプロセスのコールバックがキューに入れられました。If this flag is not set, notification is asynchronous and callbacks are queued to the processes that have subscribed and started when those processes gain control of the CPU.

lpAdviseSinklpAdviseSink

[in]アドバイズ シンク オブジェクトへのポインター。[in] A pointer to an advise sink object.

lpulConnectionlpulConnection

[out]登録を表す、0 以外の接続数へのポインター。[out] A pointer to a nonzero connection number that represents the registration.

�߂�lReturn value

S_OKS_OK

通知の登録に成功しました。The notification registration was successful.

備考Remarks

サービス プロバイダーのサポートのすべてのオブジェクトのIMAPISupport::Subscribeメソッドを実装します。The IMAPISupport::Subscribe method is implemented for all service provider support objects. サービス プロバイダーでは、 Subscribeを呼び出してから通知を管理するために MAPI を使用してアドバイズメソッドのいずれかです。Service providers call Subscribe from one of their Advise methods to allow MAPI to manage the notifications.

呼び出し側への注意Notes to callers

MAPI サポート メソッドを使用して、通知のため、オブジェクトの通知を生成する必要がありますアドバイスのソースのためのキーを作成します。To use the MAPI support methods for notification, create a key for the advise source the object about which notifications should be generated. キーの値は一意である必要があり、簡単に再生成される、オブジェクトが変更されるたびにします。The value of the key must be unique and should be easily regenerated each time the object changes.

MAPI では、通知キーを使用して、対応するアドバイスのソースのHrAllocAdviseSink関数により登録されている任意のコールバック関数を検索します。MAPI uses the notification key to search for any callback functions registered through the HrAllocAdviseSink function for the corresponding advise source. アドバイズ対応するソースの通知を生成する必要がありますたびに、このキーをIMAPISupport::Notifyに渡します。Pass this key to IMAPISupport::Notify whenever you need to generate a notification for the corresponding advise source.

NOTIFY_SYNC フラグでは、後続の呼び出しへの通知の動作に影響します。The NOTIFY_SYNC flag affects the operation of subsequent calls to Notify. NOTIFY_SYNC を設定すると、すべての必要な通知の送信が完了するまで通知が返されません。When you set NOTIFY_SYNC, Notify does not return until it has finished sending all of the necessary notifications. NOTIFY_SYNC を設定しないと、通知はすべての通知を送信する前に返す可能性がある、非同期に動作します。When you do not set NOTIFY_SYNC, Notify operates asynchronously, possibly returning before all of the notifications have been sent.

関連項目See also

HrAllocAdviseSinkHrAllocAdviseSink

IMAPIAdviseSink::OnNotifyIMAPIAdviseSink::OnNotify

IMAPISupport::NotifyIMAPISupport::Notify

�ʒmNOTIFICATION

NOTIFKEYNOTIFKEY

IMAPISupport: IUnknownIMAPISupport : IUnknown