フォームへのメッセージの読み込み

適用対象: Outlook 2013 | Outlook 2016

フォーム サーバーを使用して既存のメッセージをフォームに読み込むには、次のいずれかの方法を使用します。

PrepareFormShowForm 戦略の使用は比較的簡単ですが、結果としてクライアントに関してモーダルなフォームになります。 これは、フォームが終了するまで ShowForm の呼び出しが返されないためです。 フォームを非同期的に処理する必要がある場合は、この戦略を使用しないでください。

LoadForm 戦略の使用は、メソッドに複数のパラメーターが必要であるため、より困難です。 これらのパラメーターは、適切なコンテキストで適切なフォーム サーバーを起動し、適切なメッセージを表示するようにフォーム マネージャーに指示します。 フォーム サーバーが既に実行されている場合、フォーム マネージャーは、フォーム サーバーの新しいインスタンスを起動せずに、フォーム サーバーにメッセージを読み込みます。

起動するフォーム サーバーを指定するには、 lpszMessageClass パラメーターの内容でターゲット サーバーによって処理されるメッセージ クラスを渡します。 適切なメッセージ クラスは、読み込むメッセージ のPR_MESSAGE_CLASS (PidTagMessageClass) プロパティを取得することによって決定できます。 場合によっては、指定されたメッセージ クラスのフォーム サーバーがなく、メッセージのスーパークラスに属するメッセージを処理するフォーム サーバーのみが存在する場合があります。 メッセージを読み込むには、特にそのクラスのメッセージを処理するためのフォーム サーバーのみを使用する場合は、 LoadForm 呼び出しで MAPIFORM_EXACTMATCH フラグを設定します。 詳細については、「 MAPI メッセージ クラス」を参照してください。

LoadForm には、ビューアーのメッセージ サイトとビュー コンテキストへのポインターと、ターゲット メッセージの PR_MSG_STATUS (PidTagMessageStatus) プロパティと PR_MESSAGE_FLAGS (PidTagMessageFlags) プロパティの値も必要です。