IMAPIFormAdviseSink::OnActivateNext

適用対象: Outlook 2013 | Outlook 2016

フォームが次に表示するメッセージのメッセージ クラスを処理できるかどうかを示します。

HRESULT OnActivateNext(
  LPCSTR lpszMessageClass,
  ULONG ulMessageStatus,
  ULONG ulMessageFlags,
  LPPERSISTMESSAGE FAR * ppPersistMessage
);

パラメーター

lpszMessageClass

[in]次のメッセージのメッセージ クラスへのポインター。

ulMessageStatus

[in]次に表示するメッセージの PR_MSG_STATUS (PidTagMessageStatus) プロパティからコピーされ、メッセージが含まれるコンテンツ テーブルに関する状態情報を提供する、クライアント定義またはプロバイダー定義フラグのビットマスク。

ulMessageFlags

[in]メッセージの現在の状態を示す次のメッセージの PR_MESSAGE_FLAGS (PidTagMessageFlags) プロパティからコピーされたフラグのビットマスクへのポインター。

ppPersistMessage

[out]新しいフォームが必要な場合は、新しいフォームに使用されるフォーム オブジェクトの IPersistMessage 実装へのポインターへのポインター。 現在のフォーム オブジェクトを使用して次のメッセージを表示および保存できる場合は、NULL へのポインターを返すことができます。

戻り値

S_OK

通知が成功し、フォームは次のメッセージを処理できます。

S_false

フォームは、次のメッセージのメッセージ クラスを処理しません。

注釈

フォーム ビューアーは IMAPIFormAdviseSink::OnActivateNext メソッドを呼び出して、フォームがフォルダー内の次のメッセージを表示できるかどうかを判断するのに役立ちます。 次のメッセージは任意のクラスのメッセージですが、通常は同じクラスまたは関連クラスのメッセージです。 これにより、クライアント アプリケーションがフォーム オブジェクトを可能な限り再利用できるようにすることで、同じクラスの複数のメッセージを読み取るプロセスがより効率的になります。

ほとんどのフォーム オブジェクトでは、 lpszMessageClass パラメーターが指すメッセージ クラスを使用して、次のメッセージを処理できるかどうかを判断します。 通常、フォームは、既定のクラスに属するメッセージに加えて、フォームの既定のクラスがサブクラスであるクラスに属するメッセージを処理できます。 ただし、フォームは他の要素を使用して、次のメッセージの送信済み状態や未送信状態など、メッセージを処理できるかどうかを疑問なく判断できます。

実装に関するメモ

フォームでメッセージ クラスを処理できる場合は、 ppPersistMessage パラメーターで S_OK と NULL を返します。 フォームで、フォームが処理できないメッセージを処理できる新しいフォームを作成できる場合は、次の手順に従います。

  1. フォームのクラス ファクトリを呼び出して、新しいフォーム オブジェクトのインスタンスを作成します。

  2. そのインスタンスを ppPersistMessage ポインター パラメーターの内容に格納します。

  3. S_OK ��Ԃ��܂��B

フォーム ビューアーは、ppPersistMessage が指すオブジェクトに属する IPersistMessage::Load メソッドを使用して メッセージを読み込みます。

作成できるフォームもフォームも次のメッセージを処理できない場合は、S_FALSEを返します。 ただし、一般に、フォームビューアーのパフォーマンスが低下するため、フォームはこの値を返すべきではありません。

MFCMAPI リファレンス

MFCMAPI のサンプル コードについては、次の表を参照してください。

ファイル 関数 コメント
MAPIFormFunctions.cpp
CMyMAPIFormViewer::ActivateNext
MFCMAPI では、 IMAPIFormAdviseSink::OnActivateNext メソッドを使用して 、IMAPIViewContext::ActivateNext メソッドを実装します。

関連項目

IMAPIViewContext::ActivateNext

IPersistMessage : IUnknown

IPersistMessage::Load

PidTagMessageFlags 標準プロパティ

PidTagMessageStatus 標準プロパティ

IMAPIFormAdviseSink : IUnknown

[�R��h �T���v���Ƃ��� MFCMAPI