MAPISAVEMAIL コールバック関数 (mapi.h)
[この関数の使用はお勧めしません。 それ以降のバージョンの Windows では、変更または使用できない場合があります。
MAPISaveMail 関数は、メッセージをメッセージ ストアに保存します。
構文
MAPISAVEMAIL Mapisavemail;
ULONG Mapisavemail(
[in] LHANDLE lhSession,
[in] ULONG_PTR ulUIParam,
[in] lpMapiMessage lpMessage,
[in] FLAGS flFlags,
ULONG ulReserved,
[in] LPSTR lpszMessageID
)
{...}
パラメーター
[in] lhSession
単純な MAPI セッションまたは 0 のハンドル。 lpszMessageID パラメーターに有効なメッセージ識別子が含まれている場合、lhSession パラメーターの値を 0 にすることはできません。 ただし、 lpszMessageID に有効なメッセージ識別子が含まれていない場合、 lhSession の値が 0 の場合、MAPI はユーザーにログを記録し、呼び出しの期間中のみ存在するセッションを作成します。 この一時セッションには、既存の共有セッションまたは新しいセッションを指定できます。 必要に応じて、ログオン ダイアログ ボックスが表示されます。
[in] ulUIParam
親ウィンドウ ハンドルまたは 0。ダイアログ ボックスが表示されている場合は、それがアプリケーション モーダルであることを示します。 ulUIParam パラメーターに親ウィンドウ ハンドルが含まれている場合は、HWND 型です (ULONG_PTRにキャストされます)。 呼び出し中にダイアログ ボックスが表示されない場合、 ulUIParam は無視されます。
[in] lpMessage
保存するメッセージの内容を含む MapiMessage 構造体を指す入力パラメーター。 lpOriginator メンバーは無視されます。 アプリケーションは flFlags メンバーを無視するか、メッセージが一度も保存されていない場合は、MAPI_SENTフラグとMAPI_UNREAD フラグを設定できます。
[in] flFlags
オプション フラグのビットマスク。 次のフラグを設定できます。
ulReserved
予約;は 0 である必要があります。
[in] lpszMessageID
保存操作によって置き換えられるメッセージ識別子または空の文字列へのポインター。新しいメッセージが作成されることを示します。 flFlags パラメーターが MAPI_LONG_MSGID に設定されている場合、文字列は呼び出し元によって割り当てられ、少なくとも 512 文字を保持できる必要があります。 flFlags パラメーターが MAPI_LONG_MSGID に設定されていない場合、メッセージ識別子の文字列は 64 文字を保持できます。
戻り値
この関数は、次のいずれかの値を返します。
リターン コード | 説明 |
---|---|
|
指定したパスに添付ファイルを配置できませんでした。 ドライブ文字が無効であるか、そのドライブでパスが見つからなかったか、そのパスにファイルが見つかりませんでした。 |
|
lpMessage の受信者の種類が無効です。 |
|
メッセージの保存中に、1 つ以上の未指定のエラーが発生しました。 メッセージは保存されませんでした。 |
|
メッセージを保存するためのメモリが不足していました。 メッセージは保存されませんでした。 |
|
lpszMessageID パラメーターに無効なメッセージ識別子が渡されました。メッセージは保存されませんでした。 |
|
メッセージの 1 つ以上の受信者が無効であるか、識別できませんでした。 |
|
lhSession パラメーターに無効なセッション ハンドルが渡されました。 メッセージは保存されませんでした。 |
|
既定のログオンがなく、ログオン ダイアログ ボックスが表示されたときにユーザーが正常にログオンできませんでした。 メッセージは保存されませんでした。 |
|
操作は、基になるメッセージング システムでサポートされていませんでした。 |
|
ユーザーがダイアログ ボックスの 1 つを取り消しました。 メッセージは保存されませんでした。 |
|
呼び出しが成功し、メッセージが保存されました。 |
解説
MAPISaveMail 関数はメッセージを保存し、必要に応じて既存のメッセージを置き換えます。 MAPISaveMail を呼び出す前に、MAPIFindNext 関数を使用して、保存するメッセージが保存するメッセージであることを確認します。 lpszMessageID パラメーターで識別されるメッセージの要素は、lpMessage パラメーターの要素に置き換えられます。 lpszMessageID が空の場合は、新しいメッセージが作成されます。 置換されたすべてのメッセージは、適切なフォルダーに保存されます。 新しいメッセージは、そのクラスの受信メッセージに適したフォルダーに保存されます。
すべてのメッセージング システムでメッセージの格納がサポートされているわけではありません。 基になるメッセージング システムがメッセージストレージをサポートしていない場合、 MAPISaveMail は MAPI_E_NOT_SUPPORTED値を返します。
メッセージ識別子はシステム固有で不透明であり、いつでも無効にできるため、 MAPISaveMail では、メッセージ識別子は現在の Simple MAPI セッションでのみ有効であると見なされます。 MAPISaveMail は 、MAPI_E_INVALID_MESSAGE値を返すことによって無効なメッセージ識別子を処理します。
必要条件
対象プラットフォーム | Windows |
ヘッダー | mapi.h |
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示