كيفية استخدام الخصائص المسماة لربط إدخالات "دفتر عناوين جهات الاتصال" إلى رسائل البريد الإلكتروني عناوين البريد الإلكتروني ومرفقاتها الصورة في برنامج Outlook 2003

انتهاء دعم Office 2003

لقد أنهت شركة Microsoft دعم Office 2003 في 8 أبريل، 2014. وقد أثر هذا التغيير على تحديثات البرامج لديك وخيارات الأمان الخاصة بك. تعرف على ما يعنيه ذلك فيما يتعلق بك وكيفية الحفاظ على حمايتك.

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

اضغط هنا لرابط المقالة باللغة الانجليزية912237
تمت أرشفة هذه المقالة. وتظهر "كما هي" ولن يتم تحديثها بعد الآن.
مقدمة حول
دفتر العناوين الاتصال ميزة في Microsoft Office Outlook 2003 Service Pack 2 (SP2) فقط كما في الإصدارات السابقة من Microsoft Outlook. توضح هذه المقالة كيفية استخدام الخصائص المسماة لربط إدخالات "دفتر عناوين جهات الاتصال" إلى رسائل البريد الإلكتروني عناوين البريد الإلكتروني ومرفقاتها الصورة في Outlook 2003 SP2.
معلومات أخرى

حول دفتر العناوين الاتصال

موفر "دفتر العناوين العقد" التي يتم تضمينها في Outlook 2003 SP2 هو contab32.dll. يعرض هذا الموفر معلومات من مجلد "جهات اتصال" في نموذج "دفتر عناوين جهات الاتصال". يقوم هذا الموفر بحيث يمكن استخدام جهات الاتصال في "دفتر العناوين جهة اتصال" برسائل البريد الإلكتروني عنوان. يتم تمثيل كافة جهات الاتصال التي تحتوي على عنوان بريد إلكتروني أو رقم فاكس في "دفتر العناوين" الاتصال بواسطة إدخال قائمة منفصلة لكل رقم الفاكس "أو" عنوان البريد الإلكتروني. لأنه قد يكون جهة اتصال عناوين البريد الإلكتروني حتى ثلاثة الفاكس ثلاثة أرقام قد لذلك يمكن تمثيل كل جهة من جهات الاتصال بواسطة يصل إلى ستة إدخالات منفصلة في "دفتر العناوين الاتصال".

كيف يتم ربطها إدخالات "دفتر عناوين جهات الاتصال" إلى رسائل البريد الإلكتروني

المعلومات الموجودة في إدخال "جهة اتصال دفتر العناوين" هي مجموعة فرعية من معلومات موجودة في رسالة البريد الإلكتروني الأساسي إلى جهة الاتصال. يمكن استخدام بنية 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 بنية تعريف تنسيق كائنات معرفات IMailUser الإدخال التي يتم استخدامها في "دفتر العناوين" جهة اتصال. يمكنك الحصول على معرّفات إدخال هذا النوع من واحد أو كل من المصادر التالية:
  • عمود PR_ENTRYID جدول محتويات "دفتر عناوين جهات الاتصال"
  • الخاصية PR_ENTRYID الكائن IMailUser الذي يتم فتحه من "دفتر العناوين" جهة اتصال
لفتح الرسالة الأساسي typecast معرف الإدخال "دفتر عناوين جهات الاتصال" إلى هذه البنية. ثم استخدم أعضاء cbeid و abeid كما هو معرف الإدخال الخاص بجهة الاتصال.

المثالتقدم Microsoft الأمثلة البرمجية فقط دون أي ضمان التعبير عن أو ضمنية. هذا يتضمن ولكن لم يقتصر على الضمانات الضمنية الخاصة بالتجارة أو الملاءمة لغرض معين. تفترض هذه المقالة تكون مألوفة مع لغة البرمجة التي يتم شرحها مع الأدوات التي يتم استخدامها لإنشاء لتصحيح الإجراءات. يمكن لمهندسي الدعم لدى Microsoft شرح وظيفة إجراء محدد ولكن لن يقوموا بتعديل هذه الأمثلة لتقديم وظيفة إضافية أو إنشاء إجراءات تستوفي متطلبات محددة.
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 الحصول على الخاصية الحالية معرفات هذه الخصائص. خصائص هذه كافة خصائص السلسلة.

المثالتقدم Microsoft الأمثلة البرمجية فقط دون أي ضمان التعبير عن أو ضمنية. هذا يتضمن ولكن لم يقتصر على الضمانات الضمنية الخاصة بالتجارة أو الملاءمة لغرض معين. تفترض هذه المقالة تكون مألوفة مع لغة البرمجة التي يتم شرحها مع الأدوات التي يتم استخدامها لإنشاء لتصحيح الإجراءات. يمكن لمهندسي الدعم لدى Microsoft شرح وظيفة إجراء محدد ولكن لن يقوموا بتعديل هذه الأمثلة لتقديم وظيفة إضافية أو إنشاء إجراءات تستوفي متطلبات محددة.
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;}

كيف ترتبط إدخالات "دفتر العناوين الاتصال" الصور

يعتمد 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 صحيحاً، تحتوي المرفق على صورة جهة الاتصال. يتم تخزين الصورة كملف .jpeg. استخدام أساليب MAPI النموذجية استخراج هذا المرفق إلى ملف.
مراجع
لمزيد من المعلومات، قم بزيارة مواقع Microsoft التالية على الويب:
ol2003

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 912237 - آخر مراجعة: 02/07/2014 22:42:10 - المراجعة: 2.1

Microsoft Office Outlook 2003

  • kbnosurvey kbarchive kbmt kbhowto KB912237 KbMtar
تعليقات