プレーン テキストでの添付ファイルのレンダリング

適用対象: Outlook 2013 | Outlook 2016

プレーン テキストでメッセージに添付ファイルをレンダリングするには、添付ファイルの PR_RENDERING_POSITION (PidTagRenderingPosition) プロパティを取得し、 PR_ATTACH_RENDERING (PidTagAttachRendering) プロパティのデータに適用します。 PR_RENDERING_POSITIONを取得するには、次の 2 つの方法があります。

  • メッセージの IMessage::OpenAttach メソッドを呼び出して添付ファイルを開き、添付ファイルの IMAPIProp::GetProps メソッドを呼び出してPR_RENDERING_POSITION プロパティを要求します。 詳細については、「 IMessage::OpenAttach 」および「 IMAPIProp::GetProps」を参照してください。

  • メッセージの IMessage::GetAttachmentTable メソッドを呼び出して添付テーブルにアクセスし、 PR_RENDERING_POSITION プロパティを保持する列を取得します。 この方法が常に望ましいです。 詳細については、「 IMessage::GetAttachmentTable」を参照してください。

RTF 対応メッセージ ストアの多くは、クライアントがメッセージのPR_BODY (PidTagBody) プロパティを要求するまで、PR_RENDERING_POSITIONを計算しないことに注意してください。 それまでは、 通常、PR_RENDERING_POSITION はおおよその値を表します。 メッセージ ストア プロバイダーは、パフォーマンスを向上させるためにおおよその値をクライアントに提供できます。

ファイルまたはバイナリ添付ファイルのレンダリングは、 PR_ATTACH_RENDERING プロパティに格納されます。 PR_ATTACH_RENDERINGは、 PR_RENDERING_POSITION取得したのと同じ方法で、添付ファイルから直接取得するか、添付ファイル テーブルから取得するかの選択が可能です。 PR_ATTACH_RENDERINGの場合、最初の戦略はより時間がかかりますが、より安全です。 一部のメッセージ ストア プロバイダーは、テーブル列を 255 バイトに切り捨てるか、場合によっては 510 バイトに切り捨てるので、 PR_ATTACH_RENDERING 列に完全なレンダリングが含まれていることを確認することは困難です。 添付ファイルからプロパティを直接取得すると、常に完了します。

OLE 添付ファイルもメッセージ添付ファイルも PR_ATTACH_RENDERING設定されていません。 代わりに、OLE 1 添付ファイルのレンダリング情報はメッセージ テキスト ストリームに格納されます。 OLE 2 添付ファイルの場合は、ストレージ オブジェクトの特別な子ストリームに格納されます。 メッセージ添付ファイルのレンダリング情報は、フォーム マネージャーから入手できます。

メッセージ添付ファイルのレンダリングを取得するには

  1. フォーム マネージャーにアクセスするには、メッセージのメッセージ クラスを使用します。

  2. フォーム マネージャーの PR_MINI_ICON プロパティに アクセスします。 詳細については、「 PR_MINI_ICON (PidTagMiniIcon)」を参照してください。