IMessage::SubmitMessage
適用対象: Outlook 2013 | Outlook 2016
メッセージのすべてのプロパティを保存し、メッセージを送信準備完了としてマークします。
HRESULT SubmitMessage(
ULONG ulFlags
);
パラメーター
ulFlags
[in]メッセージの送信方法を制御するために使用されるフラグのビットマスク。 次のフラグを設定できます。
FORCE_SUBMIT
MAPI は、すぐにメッセージを送信する必要があります。 このフラグは現在使用されていません。
戻り値
S_OK
�ʘb���������A�\�������l�܂��͒l���Ԃ���܂��B
MAPI_E_NO_RECIPIENTS
メッセージの受信者テーブルが空です。
注釈
IMessage::SubmitMessage メソッドは、メッセージを送信する準備ができているとマークします。 MAPI は、メッセージが送信用にマークされている順序で、基になるメッセージング システムにメッセージを渡します。 この機能により、メッセージは、基になるメッセージング システムが責任を負う前に、しばらくメッセージ ストアに留まる可能性があります。 宛先での受信順序は、基になるメッセージング システムの制御にあり、メッセージが送信された順序と必ずしも一致するとは限りません。
実装に関するメモ
メッセージの IMAPIProp::SaveChanges メソッドを呼び出して保存し、メッセージのPR_MESSAGE_FLAGS (PidTagMessageFlags) プロパティをチェックします。 MSGFLAG_RESEND フラグが設定されている場合は、 IMAPISupport::P repareSubmit を呼び出します。 PrepareSubmit は、再送信メッセージ内のすべての受信者の受信者の種類と PR_RESPONSIBILITY (PidTagResponsibility) プロパティを更新します。
呼び出し側への注意
SubmitMessage が返されると、メッセージとその関連するサブオブジェクトへのポインター、フォルダー、添付ファイル、ストリーム、テーブルなどが無効になります。 MAPI では、 IUnknown::Release メソッドを呼び出す場合を除き、これらのポインターに対するそれ以上の操作は許可されません。 MAPI は、 SubmitMessage が呼び出された後、メッセージと関連付けられているすべてのサブオブジェクトを解放するように設計されています。 ただし、 SubmitMessage が 不足または無効な情報を示すエラー値を返した場合、メッセージは開いたままであり、ポインターは有効なままです。
送信操作を取り消すには、メッセージが送信される前に、メッセージの PR_ENTRYID (PidTagEntryId) プロパティへのポインターを取得して格納します。 メッセージのエントリ識別子は、メッセージが送信された後に無効になるため、 SubmitMessage を呼び出す前に保存する必要があります。 送信を取り消すには、 lpEntryId パラメーターをこのエントリ識別子にポイントし、 IMsgStore::AbortSubmit を呼び出します。
MFCMAPI リファレンス
MFCMAPI のサンプル コードについては、次の表を参照してください。
ファイル | 関数 | コメント |
---|---|---|
FolderDlg.cpp |
CFolderDlg::OnSubmitMessage |
MFCMAPI では 、IMessage::SubmitMessage メソッドを使用して、選択したメッセージを送信します。 |