Win32 API 日本語リファレンス
ホーム › System.Mapi › LPMAPISENDDOCUMENTS

LPMAPISENDDOCUMENTS

コールバック

シグネチャ

DWORD LPMAPISENDDOCUMENTS(
    UINT_PTR ulUIParam,
    LPSTR lpszDelimChar,
    LPSTR lpszFilePaths,
    LPSTR lpszFileNames,
    DWORD ulReserved
);

パラメーター

フィールド型説明
ulUIParamUINT_PTR親ウィンドウのハンドル、またはゼロ。ゼロの場合、ダイアログ ボックスが表示されるときはアプリケーション モーダルになります。ulUIParam パラメーターに親ウィンドウのハンドルを指定する場合、その型は HWND です (ULONG_PTR にキャストします)。呼び出し中にダイアログ ボックスが表示されない場合、ulUIParam は無視されます。
lpszDelimCharLPSTRlpszFullPaths および lpszFileNames パラメーターが指す名前を区切るために呼び出し元が使用する文字へのポインター。呼び出し元は、オペレーティング システムのファイル名では使用されない文字を区切り文字として選択してください。
lpszFilePathsLPSTR

添付ファイルへのフル パス (ドライブ文字を含む) の一覧を格納する文字列へのポインター。この一覧は、正しい形式のファイル パスを lpszDelimChar パラメーターで指定した文字で区切って連結し、末尾に null 終端文字を付けて作成します。有効な一覧の例を次に示します。

C:\TMP\TEMP1.DOC;C:\TMP\TEMP2.DOC

このパラメーターで指定したファイルは、ファイル添付としてメッセージに追加されます。このパラメーターが NULL または空の文字列の場合、添付ファイルなしで Send Note ダイアログ ボックスが表示されます。

lpszFileNamesLPSTR

メッセージ内に表示する元のファイル名の、null 終端の一覧へのポインター。複数の名前を指定する場合、この一覧はファイル名を lpszDelimChar パラメーターで指定した文字で区切って連結し、末尾に null 終端文字を付けて作成します。例を次に示します。

TEMP3.DOC;TEMP4.DOC

lpszFileNames パラメーターに値が無い場合、または空の場合、MAPISendDocuments は lpszFullPaths パラメーターで示されたファイル名の値をファイル名として設定します。

ulReservedDWORD予約済み。ゼロにする必要があります。

公式ドキュメント

[この関数の使用は推奨されません。以降のバージョンの Windows では変更されるか、利用できなくなる可能性があります。]

MAPISendDocuments 関数は、1 つ以上の添付ファイルとカバー ノートを伴う標準メッセージを送信します。カバー ノートは、受信者の一覧と任意のメッセージをユーザーが入力できるダイアログ ボックスです。MAPISendDocuments は、メッセージ生成時の柔軟性が低い点で MAPISendMail 関数と異なります。

戻り値

この関数は、次のいずれかの値を返します。

戻り値 説明
MAPI_E_ATTACHMENT_OPEN_FAILURE
lpszFilePaths パラメーターで指定されたファイルのうち、1 つ以上が見つかりませんでした。メッセージは送信されていません。
MAPI_E_ATTACHMENT_WRITE_FAILURE
添付ファイルを一時ファイルに書き込めませんでした。ディレクトリのアクセス許可を確認してください。
MAPI_E_FAILURE
メッセージの送信中に、原因不明のエラーが 1 つ以上発生しました。メッセージが送信されたかどうかは不明です。
MAPI_E_INSUFFICIENT_MEMORY
処理を続行するためのメモリが不足していました。
MAPI_E_LOGIN_FAILURE
既定のログオンが存在せず、ログオン ダイアログ ボックスが表示されたときにユーザーがログオンに失敗しました。メッセージは送信されていません。
MAPI_E_USER_ABORT
ユーザーがいずれかのダイアログ ボックスをキャンセルしました。メッセージは送信されていません。
SUCCESS_SUCCESS
呼び出しは成功し、メッセージが送信されました。

解説(Remarks)

MAPISendDocuments 関数は標準メッセージを送信します。その際、ユーザーが受信者やその他の送信オプションを指定できるよう、常にカバー ノートのダイアログ ボックスを表示します。この関数は、メッセージング システムの共有セッションを使用してセッションの確立を試みます。共有セッションが存在しない場合は、セッションを確立するためにユーザーにログオン情報の入力を求めます。MAPISendDocuments は、制御を返す前にセッションを終了します。

メッセージの添付ファイルには、MAPISendDocuments を呼び出したクライアント アプリケーションのアクティブなドキュメント、または現在開いているすべてのドキュメントを含めることができます。この関数は主に、マクロやスクリプト言語からの呼び出しで使用され、表計算やワード プロセッサなどのアプリケーションでよく見られます。

パスとファイル名の数が異なる場合であっても、MAPISendDocuments は lpszFullPaths パラメーターで指定されたパスの数だけファイル添付を作成します。MAPISendDocuments の使用時に作成された一時ファイルの削除は、呼び出し元の責任です。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)