Unicode メッセージ情報を取得し、 MAPISendMailW を使用してメッセージを送信するか、必要に応じて、メッセージを ANSI に変換し、 MAPISendMail を使用してメッセージを送信します。 Windows 8以降: MAPISendMailW を直接呼び出してメッセージを送信します。
構文
ULONG MAPISendMailHelper(
[in] LHANDLE lhSession,
[in] ULONG_PTR ulUIParam,
[in] lpMapiMessageW lpMessage,
[in] FLAGS flFlags,
[in] ULONG ulReserved
);
パラメーター
[in] lhSession
単純な MAPI セッションまたは 0 を処理します。
lhSession パラメーターの値が 0 の場合、MAPI はユーザーにログを記録し、呼び出しの期間中だけ存在するセッションを作成します。 この一時セッションには、既存の共有セッションまたは新しいセッションを指定できます。 必要に応じて、ログオン ダイアログ ボックスが表示されます。
[in] ulUIParam
親ウィンドウ ハンドルまたは 0。
ulUIParam パラメーターの値が 0 で、ダイアログ ボックスが表示されている場合、ダイアログ ボックスはアプリケーション モーダルです。 ulUIParam パラメーターに親ウィンドウ ハンドルが含まれている場合は、HWND 型です (ULONG_PTRにキャストされます)。 呼び出し中にダイアログ ボックスが表示されない場合、 ulUIParam は無視されます。
[in] lpMessage
送信するメッセージを含む MAPISendMailW 構造体へのポインター。
登録済みメール プロバイダーがメッセージで ANSI エンコードを使用する必要がある場合、 MAPISendMailHelper はこのメッセージを ANSI MapiMessage 構造体に変換し、 MAPISendMail を 呼び出してメッセージを送信します。
関数を呼び出すときは、メッセージ構造のメンバーに関する次の情報に注意してください。
| メンバー | メモ |
|---|---|
| lpFiles | メッセージに添付ファイルがない場合は、このメンバーを NULL に 設定します。 |
| lpszMessageType | 対人メッセージを処理しないアプリケーションで使用されます。 アプリケーションが対人メッセージを処理する場合は、 lpszMessageType メンバーを NULL に設定するか、空の文字列を指すよう設定します。 |
| lpszSubject | NULL の値は、メッセージの件名にテキストがないことを意味します。 |
| lpszNoteText | NULL の値は、メッセージの本文にテキストがないことを意味します。 |
| lpRecips | 値が NULL の場合は、受信者がいないことを意味します。 さらに、このメンバーが NULL の場合、 nRecipCount メンバーは 0 である必要があります。 |
| nRecipCount | 値が 0 の場合は、受信者がいないことを意味します。 さらに、このメンバーが 0 の場合、 lpRecips メンバーは NULL である必要があります。 |
関数が受信者情報を処理する方法の詳細については、「MAPISendMailW での受信者情報の処理」を参照してください。
[in] flFlags
オプション フラグのビットマスク。 次のフラグを設定できます。
[in] ulReserved
予約;は 0 である必要があります。
戻り値
この関数は、次のいずれかの値を返します。
| リターン コード/値 | Description |
|---|---|
|
受信者が複数の受信者記述子構造と一致し、MAPI_DIALOGが設定されていません。 メッセージが送信されませんでした。 |
|
指定された添付ファイルが見つかりませんでした。 メッセージが送信されませんでした。 |
|
指定した添付ファイルを開けませんでした。 メッセージが送信されませんでした。 |
|
受信者の種類がMAPI_TO、MAPI_CC、またはMAPI_BCCされませんでした。 メッセージが送信されませんでした。 |
|
1 つ以上の未指定のエラーが発生しました。 メッセージが送信されませんでした。 |
|
続行するメモリが不足していました。 メッセージが送信されませんでした。 |
|
1 人以上の受信者が無効であるか、アドレスに解決されませんでした。 |
|
既定のログオンがなく、ログオン ダイアログ ボックスが表示されたときにユーザーが正常にログオンできませんでした。 メッセージが送信されませんでした。 |
|
メッセージ内のテキストが大きすぎます。 メッセージが送信されませんでした。 |
|
添付ファイルが多すぎます。 メッセージが送信されませんでした。 |
|
受信者が多すぎます。 メッセージが送信されませんでした。 |
|
MAPI_FORCE_UNICODE フラグが指定されており、Unicode はサポートされていません。
メモ この値は、メッセージを送信するために MAPISendMailW が呼び出された場合にのみ返されます。
|
|
受信者がアドレス一覧に表示されませんでした。 メッセージが送信されませんでした。 |
|
ユーザーがいずれかのダイアログ ボックスを取り消しました。 メッセージが送信されませんでした。 |
|
呼び出しが成功し、メッセージが送信されました。 |
注釈
MAPI 送信メール機能の詳細については、「 MAPISendMailW」を参照してください。
要件
| 要件 | 値 |
|---|---|
| 対象プラットフォーム | Windows |
| ヘッダー | mapiunicodehelp.h |
| [DLL] | Mapi32.dll |