IMessage::OpenAttach

適用対象: Outlook 2013 | Outlook 2016

添付ファイルを開きます。

HRESULT OpenAttach(
  ULONG ulAttachmentNum,
  LPCIID lpInterface,
  ULONG ulFlags,
  LPATTACH FAR * lppAttach
);

パラメーター

ulAttachmentNum

[in]添付ファイルの PR_ATTACH_NUM (PidTagAttachNumber) プロパティに格納されている、開く添付ファイルのインデックス番号。 このインデックス番号は、メッセージ内の添付ファイルを一意に識別し、メッセージのコンテキストでのみ有効です。

lpInterface

[in]添付ファイルへのアクセスに使用するインターフェイスを表すインターフェイス識別子 (IID) へのポインター。 NULL を渡すと、添付ファイルの標準インターフェイス ( IAttach) が返されます。

ulFlags

[in]添付ファイルの開き方を制御するフラグのビットマスク。 次のフラグを設定できます。

MAPI_BEST_ACCESS

ユーザーに許可されている最大ネットワーク アクセス許可と最大クライアント アプリケーション アクセス権を使用して、添付ファイルを開くように要求します。 たとえば、クライアントに読み取り/書き込みアクセス許可がある場合、添付ファイルは読み取り/書き込みアクセス許可で開く必要があります。クライアントに読み取り専用アクセス権がある場合は、添付ファイルを読み取り専用アクセスで開く必要があります。

MAPI_DEFERRED_ERRORS

呼び出し元のクライアントが添付ファイルを完全に使用できるようになる前に、 OpenAttach が正常に返されるようにします。 添付ファイルを使用できない場合は、それ以降の呼び出しを行うとエラーが発生する可能性があります。

MAPI_MODIFY

読み取り/書き込みアクセス許可を要求します。 既定では、添付ファイルは読み取り専用アクセスで開かれます。クライアントは、読み取り/書き込みアクセス許可が付与されていることを前提として動作しません。

lppAttach

[out]開いている添付ファイルへのポインターへのポインター。

戻り値

S_OK

添付ファイルが正常に開かれました。

注釈

IMessage::OpenAttach メソッドは、メッセージの添付ファイルを開きます。

呼び出し側への注意

添付ファイルを開くには、添付ファイル番号または PR_ATTACH_NUM プロパティにアクセスできる必要があります。 IMessage::GetAttachmentTable を呼び出してメッセージの添付ファイル テーブルを取得し、開く添付ファイルを表す行を見つけます。 詳細については、「 添付ファイルを開く 」を参照してください。

1 つの添付ファイルを複数回開かないでください。結果は未定義であり、メッセージ ストア プロバイダーに依存します。

既定の読み取り専用モードではなく、読み取り/書き込みモードで添付ファイルを開くように要求できます。 ただし、添付ファイルを実際に読み取り/書き込みモードで開くかどうかは、メッセージ ストア プロバイダー次第です。 添付ファイルの変更を試みたり、可能な障害を処理する準備をしたり、添付ファイルのPR_ACCESS_LEVEL (PidTagAccessLevel) プロパティを取得することによって付与されたアクセス レベルをチェックしたり (使用可能な場合)、いずれかを実行できます。

MFCMAPI リファレンス

MFCMAPI のサンプル コードについては、次の表を参照してください。

ファイル 関数 コメント
AttachmentsDlg.cpp 使用済み
CAttachmentsDlg::OpenItemProp
MFCMAPI では 、IMessage::OpenAttach メソッドを使用して添付ファイル オブジェクトを開きます。

関連項目

IMessage : コード サンプルとしての IMAPIPropMFCMAPI