名前付きプロパティを使用して電子メール メッセージ、電子メール アドレス、および Outlook 2003 での画像の添付ファイルの連絡先アドレス帳のエントリの関連する方法

文書翻訳 文書翻訳
文書番号: 912237 - 対象製品
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
すべて展開する | すべて折りたたむ

目次

概要

連絡先アドレス帳は Outlook の以前のバージョンでだけの Microsoft Office Outlook 2003 Service Pack 2 (SP2) は、機能です。 名前付きプロパティを使用して電子メール メッセージ、電子メール アドレス、および Outlook 2003 SP2 で画像の添付ファイルの連絡先アドレス帳のエントリの関連する方法について説明します。

詳細

連絡先アドレス帳について

Outlook 2003 SP2 に含まれる契約のアドレス帳プロバイダーが contab32.dll です。 このプロバイダーはアドレス帳を連絡先にの形式で、連絡先フォルダーからの情報を表示します。 プロバイダーはこの電子メール メッセージの宛先には、連絡先アドレス帳に、連絡先を使用できるようにします。 電子メール アドレスまたは FAX 番号を持つすべての連絡先は各電子メール アドレスまたは FAX 番号の個別一覧で連絡先アドレス帳で表されます。 3 つの FAX 番号を連絡先には、最大 3 つの電子メール アドレスがあります、れるので各連絡先が連絡先アドレス帳内の最大 6 つの個別エントリによってしたがって表されます。

電子メール メッセージの連絡先アドレス帳エントリを関連付ける方法

アドレス帳の連絡先のエントリに含まれる情報は、基になっている電子メール メッセージ、連絡先に含まれる情報のサブセット。 次のような CONTAB_ENTRYID 構造は、基になるメッセージの派生元の連絡先アドレス帳エントリを確認する使用できます。

定義 #pragma の pack(4) の typedef 構造体の _contab_entryid を
#pragma pack(4)
typedef struct _contab_entryid
{
  BYTE misc1[4];
  MAPIUID misc2;
  ULONG misc3;
  ULONG misc4;
  ULONG misc5;
  // EntryID of contact in store.
  ULONG cbeid;
  BYTE abeid[1];
} CONTAB_ENTRYID, *LPCONTAB_ENTRYID;
#pragma pack()
、CONTAB_ENTRYID 構造連絡先アドレス帳で使用されるエントリ ID の IMailUser オブジェクトの形式を定義します。 以下のソースのいずれかからこの種類のエントリ ID を入手できます。
  • 連絡先のアドレス帳内容テーブルの PR_ENTRYID 列には、
  • 連絡先アドレス帳から開かれている IMailUser オブジェクトの PR_ENTRYID プロパティは、
基になるメッセージを開いて、この構造体への連絡先アドレス帳のエントリ ID ときは型キャストします。 cbeid および abeid メンバーを使用しとして、連絡先のエントリ ID です。

次の使用例 マイクロソフトは提供プログラミング言語の使用方法の一例としてのみ、姿表現または暗黙に提供します。 これはに含まれますに、黙示または商品性および特定目的に対する適合性の黙示保証は一切制限はありません。 この資料ではであると見なすは、例示されているプログラミング言語を作成したりプロシージャをデバッグするためのツールと使い慣れた。 マイクロソフト サポート エンジニアに、特定のプロシージャの機能について説明する役立ちますが追加機能を提供する構築手順、特定の要件を次の例は変更されません。
HRESULT HrOpenContact(
  LPMAPISESSION lpSession,
  ULONG cbEntryID,
  LPENTRYID lpEntryID,  
  ULONG ulFlags,
  LPMESSAGE* lpContactMessage)
{
  ULONG ulObjType = NULL;
  if (sizeof(CONTAB_ENTRYID) > cbEntryID)
      return MAPI_E_INVALID_PARAMETER;
  LPCONTAB_ENTRYID lpContabEID = (LPCONTAB_ENTRYID) lpEntryID;
  HRESULT hRes = lpSession->OpenEntry(
      lpContabEID->cbeid,
      (LPENTRYID) lpContabEID->abeid,
      NULL,
      ulFlags,
      &ulObjType,
      (LPUNKNOWN*) lpContactMessage);
  return hRes;
}

連絡先のアドレス帳のエントリを電子メール アドレスを関連付ける方法

基になるメッセージに名前付きプロパティによっては、電子メール アドレスを連絡先アドレス帳のメッセージにアクセスするしかできません。 ここで記載されているプロパティは読み取り専用のプロパティです。 Outlook 2003 ソリューションこれらのプロパティへの書き込みをサポートしません。

定義
DEFINE_OLEGUID(PSETID_Address, MAKELONG(0x2000+(0x04),0x0006),0,0);
#define dispidEmailAddrType 0x8082
#define dispidEmailEmailAddress 0x8083
#define dispidEmail2AddrType 0x8092
#define dispidEmail2EmailAddress 0x8093
#define dispidEmail3AddrType 0x80A2
#define dispidEmail3EmailAddress 0x80A3
DEFINE_OLEGUID(PSETID_Address, MAKELONG(0x2000+(0x04),0x0006),0,0); #define dispidEmailAddrType 0x8082 #define dispidEmailEmailAddress 0x8083 #define dispidEmail2AddrType 0x8092 #define dispidEmail2EmailAddress 0x8093 #define dispidEmail3AddrType 0x80A2 #define dispidEmail3EmailAddress... 使用法

次の定数に MAPINAMEID 構造体を記入する使えます。 これらの定数は、構造体のさまざまなフィールドです。
元に戻す全体を表示する
定数フィールド
PSETID_AdresslpGuid
MNID_IDulKind
dispidカバー
MAPINAMEID 構造体を記入すると後、は、GetIDsFromNames メソッドを使用してこれらのプロパティの現在のプロパティ ID の取得をします。 これらのプロパティはすべての文字列プロパティです。

次の使用例 マイクロソフトは提供プログラミング言語の使用方法の一例としてのみ、姿表現または暗黙に提供します。 これはに含まれますに、黙示または商品性および特定目的に対する適合性の黙示保証は一切制限はありません。 この資料ではであると見なすは、例示されているプログラミング言語を作成したりプロシージャをデバッグするためのツールと使い慣れた。 マイクロソフト サポート エンジニアに、特定のプロシージャの機能について説明する役立ちますが追加機能を提供する構築手順、特定の要件を次の例は変更されません。
HRESULT HrGetEmail1(LPMESSAGE lpContact)
{
  HRESULT hRes = S_OK;
  LPSPropTagArray lpNamedPropTags = NULL;
  MAPINAMEID NamedID = {0};
  LPMAPINAMEID lpNamedID = &NamedID;
  NamedID.lpguid = (LPGUID)&PSETID_Address;
  NamedID.ulKind = MNID_ID;
  NamedID.Kind.lID = dispidEmailEmailAddress;
  hRes = lpContact->GetIDsFromNames(
      1,
      &lpNamedID,
      NULL,
      &lpNamedPropTags);
  if (SUCCEEDED(hRes) && lpNamedPropTags)
  {
      SPropTagArray sPropTagArray;
      sPropTagArray.cValues = 1;
      sPropTagArray.aulPropTag[0] = CHANGE_PROP_TYPE(lpNamedPropTags->aulPropTag[0],PT_STRING8);
      LPSPropValue lpProps = NULL;
      ULONG cProps = 0;
      hRes = lpContact->GetProps(
        &sPropTagArray,
        NULL,
        &cProps,
        &lpProps);
    if (SUCCEEDED(hRes) &&
      1 == cProps &&
      lpProps &&
      PT_STRING8 == PROP_TYPE(lpProps[0].ulPropTag) &&
      lpProps[0].Value.lpszA)
      {
          printf("Email address 1 = \"%s\"\n",lpProps[0].Value.lpszA);
      }
    MAPIFreeBuffer(lpProps);
    MAPIFreeBuffer(lpNamedPropTags);
  }
  return hRes;
}

画像への連絡先アドレス帳のエントリを関連付ける方法

各連絡先の 1 つの画像をサポートする Outlook します。 この図は、基になるメッセージの添付ファイルとして格納されます。 画像があるどの添付ファイルを調べるには、 PR_ATTACHMENT_CONTACTPHOTO プロパティを使用します。 ここに記載されているプロパティは読み取り専用プロパティです。 Outlook ソリューションこのプロパティへの書き込みをサポートしません。

定義

#define PR_ATTACHMENT_CONTACTPHOTO PROP_TAG( PT_BOOLEAN, 0x7FFF)
使用法

PR_ATTACHMENT_CONTACTPHOTO プロパティは、IMessage::GetAttachmentTable から取得した添付ファイル テーブルの列としてアクセスできます。 PR_ATTACHMENT_CONTACTPHOTO プロパティは、IAttach オブジェクトのプロパティとしてアクセスされます。 PR_ATTACHMENT_CONTACTPHOTO プロパティの値が True の場合、添付ファイルは連絡先図が含ま。 図が.jpeg ファイルとして保存します。 通常、MAPI メソッドを使用このファイルに添付ファイルを抽出を。

関連情報

詳細については、次のマイクロソフト Web サイトを参照してください。
http://msdn2.microsoft.com/en-us/library/bb905282.aspx
http://msdn2.microsoft.com/en-us/library/bb820925.aspx
http://msdn2.microsoft.com/en-us/library/bb821181.aspx

プロパティ

文書番号: 912237 - 最終更新日: 2014年2月2日 - リビジョン: 2.1
この資料は以下の製品について記述したものです。
  • Microsoft Office Outlook 2003?を以下の環境でお使いの場合
    • Microsoft Office 2003 Service Pack 2
キーワード:?
kbnosurvey kbarchive kbhowto kbmt KB912237 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:912237
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com