Использование именованных свойств для связанных записей контактов адресной книги для сообщений электронной почты, адреса электронной почты и вложения рисунков в Outlook 2003

Переводы статьи Переводы статьи
Код статьи: 912237 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Введение эта ссылка может указывать на содержимое полностью или частично на английском языке

Адресная книга контакт – это возможность в Office Outlook 2003 с пакетом обновления 2 (SP2), точно так же, как и в предыдущих версиях программы Microsoft Outlook. В данной статье описывается использование именованных свойств для связывания записей контактов адресной книги для сообщений электронной почты, адреса электронной почты и вложения рисунков в Outlook 2003 с пакетом обновления 2.

Дополнительная информация

О контактов адресной книги

Поставщик контракт адресной книги, включенные в Outlook 2003 с пакетом обновления 2 является 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, который открывается из адресной книги контакты
Чтобы открыть основной сообщения, приведения идентификатор входа контактов адресной книги для этой структуры. Затем с помощью cbeid и abeid члены как идентификатор контакта запись.

Example:Корпорация Майкрософт предлагает примеры программного кода только для иллюстрации, без каких-либо явных или подразумеваемых гарантий.. Включая, но не ограничивая, подразумеваемые гарантии товарности или пригодности для использования в определенных целях.. В данной статье предполагается, что вы знакомы с языком программирования предложенном в примере, а также с средствами, которые используются для создания и отладки.. Сотрудники службы поддержки Майкрософт могут объяснить возможности конкретной процедуры, но не выполнять модификации примеров для обеспечения функциональных возможностей или создания процедур соответствующих определенным требованиям..
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
использование:

Следующие константы можно использовать для заполнения MAPINAMEID структуры. Эти константы используются различные поля структуры.
Свернуть эту таблицуРазвернуть эту таблицу
КонстантыField:
PSETID_AdresslpGuid
MNID_IDulKind
DISPIDКрышка
После заполнения вне структуры MAPINAMEID метод GetIDsFromNames получить текущее свойство коды для этих свойств. Эти свойства отображаются все свойства строки.

Example:Корпорация Майкрософт предлагает примеры программного кода только для иллюстрации, без каких-либо явных или подразумеваемых гарантий.. Включая, но не ограничивая, подразумеваемые гарантии товарности или пригодности для использования в определенных целях.. В данной статье предполагается, что вы знакомы с языком программирования предложенном в примере, а также с средствами, которые используются для создания и отладки.. Сотрудники службы поддержки Майкрософт могут объяснить возможности конкретной процедуры, но не выполнять модификации примеров для обеспечения функциональных возможностей или создания процедур соответствующих определенным требованиям..
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свойство имеет значение true, вложение содержит изображение контакта. The picture is stored as a .jpeg file. Use the typical MAPI methods to extract this attachment to a file.

Ссылки

Дополнительные сведения см. на перечисленных ниже страницах веб-сайта корпорации Майкрософт.:
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 - Последний отзыв: 27 ноября 2010 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Office Outlook 2003 на следующих платформах
    • Microsoft Office 2003 Service Pack 2
Ключевые слова: 
kbhowto kbmt KB912237 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:912237

Отправить отзыв

 

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