[この関数の使用はお勧めしません。 それ以降のバージョンの Windows では、変更または使用できない場合があります。
MAPIReadMail 関数は、読み取り用のメッセージを取得します。
構文
MAPIREADMAIL Mapireadmail;
ULONG Mapireadmail(
[in] LHANDLE lhSession,
[in] ULONG_PTR ulUIParam,
[in] LPSTR lpszMessageID,
[in] FLAGS flFlags,
ULONG ulReserved,
lpMapiMessage *lppMessage
)
{...}
パラメーター
[in] lhSession
単純な MAPI セッションを処理します。 lhSession パラメーターの値は、有効なセッションを表す必要があります。0 にすることはできません。
[in] ulUIParam
親ウィンドウ ハンドルまたは 0。ダイアログ ボックスが表示されている場合は、それがアプリケーション モーダルであることを示します。 ulUIParam パラメーターに親ウィンドウ ハンドルが含まれている場合は、HWND 型です (ULONG_PTRにキャストされます)。 呼び出し中にダイアログ ボックスが表示されない場合、 ulUIParam は無視されます。
[in] lpszMessageID
読み取るメッセージのメッセージ識別子文字列へのポインター。 文字列は呼び出し元によって割り当てられます。
[in] flFlags
オプション フラグのビットマスク。 次のフラグを設定できます。
| 値 | 説明 |
|---|---|
|
MAPIReadMail は 、メッセージ テキストを一時ファイルに書き込み、添付ファイルの一覧の最初の添付ファイルとして追加する必要があります。 |
|
MAPIReadMail は 、メッセージ ヘッダーのみを読み取る必要があります。 添付ファイルは一時ファイルにコピーされず、一時ファイル名もメッセージ テキストも書き込まれません。 このフラグを設定すると、パフォーマンスが向上します。 |
|
MAPIReadMail は、メッセージを開封済みとしてマークしません。 メッセージを開封済みとしてマークすると、ユーザー インターフェイスでの外観に影響し、開封確認メッセージが生成されます。 メッセージング システムでこのフラグがサポートされていない場合、 MAPIReadMail は 常にメッセージを読み取りとしてマークします。 MAPIReadMail でエラーが発生した場合、メッセージは未読の状態になります。 |
|
MAPIReadMail は 添付ファイルをコピーしませんが、メッセージ テキストを MapiMessage 構造体に書き込む必要があります。 呼び出し元のアプリケーションで MAPI_ENVELOPE_ONLY フラグが設定されている場合、MAPIReadMail はこのフラグを無視します。 MAPI_SUPPRESS_ATTACH フラグを設定すると、パフォーマンスが向上します。 |
ulReserved
予約;は 0 である必要があります。
lppMessage
戻り値
この関数は、次のいずれかの値を返します。
| リターン コード | 説明 |
|---|---|
|
添付ファイルを一時ファイルに書き込むことができませんでした。 ディレクトリのアクセス許可を確認します。 |
|
ディスクに十分な領域がないため、添付ファイルを一時ファイルに書き込めませんでした。 |
|
メッセージの読み取り中に、1 つ以上の未指定のエラーが発生しました。 |
|
メッセージを読み取るメモリが不足していました。 |
|
lpszMessageID パラメーターに無効なメッセージ識別子が渡されました。 |
|
lhSession パラメーターに無効なセッション ハンドルが渡されました。 メッセージが取得されませんでした。 |
|
メッセージに添付ファイルが多すぎます。 メッセージを読み取れませんでした。 |
|
メッセージの受信者が多すぎます。 メッセージを読み取れませんでした。 |
|
呼び出しが成功し、メッセージが読み取られました。 |
解説
MAPIReadMail 関数は、メッセージの内容を MAPISendMail 関数で使用されるのと同じパラメーターと構造体に分割して、1 つのメッセージを返します。 MAPIReadMail は 、件名、メッセージ クラス、配信時間、送信者などのメッセージ要素を含む MapiMessage 構造体でメモリのブロックを埋めます。 添付ファイルは一時ファイルに保存され、名前はメッセージ構造の呼び出し元に返されます。 MAPIReadMail が呼び出し元に戻る前に、受信者、添付ファイル、および内容がメッセージからコピーされるため、ファイルに対する後の変更はメッセージの内容に影響しません。
呼び出しから封筒情報のみを返すように指定するフラグが用意されています。 別のフラグ ( MapiMessage 構造体内) では、メッセージが送信済みとしてマークされているか、未送信としてマークされているかを指定します。
呼び出し元は、MAPIFreeBuffer 関数を呼び出し、メッセージに含まれる添付ファイルに関連付けられているファイルを削除することで、MapiMessage 構造体を解放します。
MAPIReadMail を呼び出す前に、MAPIFindNext 関数を使用して、読み取るメッセージが読み取るメッセージであることを確認します。 メッセージ識別子はシステム固有で不透明であり、いつでも無効にできるため、 MAPIReadMail では、メッセージ識別子は現在の Simple MAPI セッションでのみ有効であると見なされます。
必要条件
| 対象プラットフォーム | Windows |
| ヘッダー | mapi.h |