次の方法で共有


IMAPISupport::PrepareSubmit

適用対象: Outlook 2013 | Outlook 2016

MAPI スプーラーに送信するメッセージを準備します。

HRESULT PrepareSubmit(
LPMESSAGE lpMessage,
ULONG FAR * lpulFlags
);

パラメーター

lpMessage

[in]準備するメッセージへのポインター。

lpulFlags

[in, out]入力時に、 lpulFlags パラメーターは予約済みであり、0 である必要があります。 出力では、 lpulFlags は NULL である必要があります。

戻り値

S_OK

メッセージが正常に準備されました。

注釈

IMAPISupport::P repareSubmit メソッドは、メッセージ ストア プロバイダーサポート オブジェクトに実装されます。 メッセージ ストア プロバイダーは、IMessage::SubmitMessage メソッドの実装で PrepareSubmit を呼び出して、MAPI スプーラーに送信するメッセージを準備します。

PrepareSubmit は、PR_MESSAGE_FLAGS (PidTagMessageFlags) プロパティにMSGFLAG_RESEND フラグが設定されているメッセージを処理するために使用されます。 MSGFLAG_RESENDは、初期転送が失敗したときに再送信する要求を含むメッセージに設定されます。 PrepareSubmit は、受信者リストの受信者のうち、メッセージを正常に受信した受信者と受信しなかった受信者を決定します。

受信者リストにアクセスするために、 PrepareSubmit はメッセージの IMessage::GetRecipientTable メソッドを 呼び出します。 受信者データを取得するために、 PrepareSubmit は受信者テーブルの IMAPITable::QueryRows メソッドを 呼び出します。 テーブル内の各行について、 PrepareSubmitPR_RECIPIENT_TYPE (PidTagRecipientType) プロパティをチェックし、次のいずれかのアクションを実行します。

  • MAPI_SUBMITTED フラグが設定されている場合、 PrepareSubmit はフラグをクリアし、 PR_RESPONSIBILITY (PidTagResponsibility) プロパティを FALSE に設定します。

  • MAPI_SUBMITTED フラグが設定されていない場合、 PrepareSubmitPR_RECIPIENT_TYPE を MAPI_P1 に変更し、 PR_RESPONSIBILITY を TRUE に設定します。

呼び出し側への注意

PrepareSubmit を呼び出す前に、IMAPISupport::SpoolerNotify メソッドを呼び出し、ulFlags パラメーターに NOTIFY_READYTOSEND フラグを設定していることを確認してください。 SpoolerNotify 呼び出しは、PrepareSubmit の呼び出しの前に、セッションごとに 1 回行う必要があります。 SpoolerNotify は MAPI スプーラーを同期し、必要なすべてのトランスポート プロバイダーがログオンし、そのアドレスの種類が登録されていることを確認します。

関連項目

IMAPIFolder::GetMessageStatus
IMessage::SubmitMessage
IMAPISupport: IUnknown