MAPI フォーム通知
適用対象: Outlook 2013 | Outlook 2016
フォーム オブジェクトからの通知の登録と処理は、他の MAPI オブジェクトの場合とは異なるプロセスです。 フォーム通知のシンクには、IMAPIAdviseSink ではなく、IMAPIViewAdviseSink または IMAPIFormAdviseSink インターフェイスのいずれかを実装することをお勧めします。 IMAPIViewAdviseSink : IUnknown と IMAPIFormAdviseSink: IUnknown には、対応するアドバイス ソースが生成できる可能なイベントごとに 1 つずつ、複数のメソッドがあります。 たとえば、 IMAPIFormAdviseSink には、フォーム ビューアーの状態の変更を処理する IMAPIFormAdviseSink::OnChange と、正しいフォームを持つ新しいメッセージを表示する IMAPIFormAdviseSink::OnActivateNext の 2 つの方法があります。
フォームのイベント処理戦略は、OLE で実装されているイベント処理戦略に似ています。 クライアントは、ほとんどの MAPI オブジェクトと同様に、特定のイベントの種類に登録しません。 通知に登録すると、特定のアドバイス ソースによって生成できる任意の種類のイベントを受け取ることができることを前提とします。 IMAPIAdviseSink::OnNotify は、登録されたすべてのイベントを処理するように記述する必要があるため、さまざまなイベントに登録するクライアントでは実装が複雑になる可能性があります。 フォームのメソッドはシンク オブジェクトに 1 つのイベントをターゲットにするようアドバイスするため、これらのメソッドを実装する方が簡単です。