Поделиться через


IAddrBook::NewEntry

Область применения: Outlook 2013 | Outlook 2016

Добавляет нового получателя в контейнер адресной книги или в список получателей исходящего сообщения.

HRESULT NewEntry(
  ULONG_PTR ulUIParam,
  ULONG ulFlags,
  ULONG cbEIDContainer,
  LPENTRYID lpEIDContainer,
  ULONG cbEIDNewEntryTpl,
  LPENTRYID lpEIDNewEntryTpl,
  ULONG FAR * lpcbEIDNewEntry,
  LPENTRYID FAR * lppEIDNewEntry
);

Параметры

ulUIParam

[в] Дескриптор родительского окна диалогового окна.

ulFlags

[в] Битовая маска флагов, управляющая типом используемого текста. Можно задать следующий флаг:

MAPI_UNICODE

Переданные строки имеют формат Юникода. Если флаг MAPI_UNICODE не задан, строки имеют формат ANSI.

cbEIDContainer

[в] Число байтов в идентификаторе записи, на который указывает параметр lpEIDContainer .

lpEIDContainer

[в] Указатель на идентификатор записи контейнера, в который добавляется новый получатель. Если параметр cbEIDContainer равен нулю, метод NewEntry возвращает идентификатор записи получателя и список шаблонов, как если бы был вызван метод IAddrBook::CreateOneOff .

cbEIDNewEntryTpl

[в] Число байтов в идентификаторе записи, на который указывает параметр lpEIDNewEntryTpl .

lpEIDNewEntryTpl

[в] Указатель на одноразовый шаблон, который будет использоваться для создания нового получателя. Если cbEIDNewEntryTpl равно нулю, а lpEIDNewEntryTpl — NULL, NewEntry отображает диалоговое окно, с помощью которого пользователь может выбрать из списка шаблонов для добавления новых записей.

lpcbEIDNewEntry

[out] Указатель на число байтов в идентификаторе записи, на который указывает параметр lppEIDNewEntry .

lppEIDNewEntry

[out] Указатель на указатель на идентификатор записи нового получателя.

Возвращаемое значение

S_OK

Новая запись адресной книги успешно создана.

Замечания

Метод NewEntry создает новую запись адресной книги, которая добавляется непосредственно в контейнер или используется для обращения к исходящему сообщению.

Примечания для вызывающих методов

Если вы хотите добавить новую запись в конкретный контейнер, задайте для lpEIDContainer значение идентификатора записи контейнера, а cbEIDContainer — число байтов в идентификаторе записи.

Если вы хотите добавить новую запись в список получателей исходящего сообщения, задайте для параметра lpEIDContainer значение NULL, а cbEIDContainer — ноль.

Если вы хотите разрешить пользователю клиентского приложения выбрать тип создаваемой записи, передайте ноль в cbEIDNewEntryTpl и NULL в lpEIDNewEntryTpl. Метод NewEntry отображает разовую таблицу MAPI, список шаблонов, поддерживаемых MAPI и каждым поставщиком адресной книги в сеансе. Каждый шаблон может создать запись получателя для одного или нескольких типов адресов.

Если вы хотите сохранить идентификатор новой записи, передайте допустимые указатели в параметры lpcbEIDNewEntry и lppEIDNewEntry . Вы несете ответственность за освобождение этого идентификатора записи после завершения работы с ним путем вызова функции MAPIFreeBuffer .

Чтобы использовать определенный шаблон для добавления новой записи в изменяемый контейнер, выполните следующую процедуру:

  1. Вызовите метод IMAPISession::OpenEntry , чтобы открыть целевой контейнер, и задайте для параметра lpEntryID идентификатор записи контейнера.

  2. Вызовите метод IMAPIProp::OpenProperty целевого контейнера и задайте для параметра ulPropTagзначение PR_CREATE_TEMPLATES (PidTagCreateTemplates), а для параметра lpiid — IID_IMAPITable. Контейнер вернет разовую таблицу со списком всех шаблонов, которые он поддерживает для создания новых записей.

  3. Получите строку, представляющую шаблон для определенного типа записи, которую вы хотите создать. Столбец PR_ADDRTYPE (PidTagAddressType) указывает тип адреса, поддерживаемый шаблоном.

  4. Вызовите метод NewEntry и задайте для lpEIDNewEntryTpl идентификатор записи выбранного шаблона. Идентификатором записи будет столбец PR_ENTRYID (PidTagEntryId) из строки шаблона в одноразовой таблице. Передайте ноль в cbEIDContainer и NULL в lpEIDContainer. Передайте допустимый указатель в параметре lppEIDNewEntry , если вы хотите сохранить идентификатор записи.

См. также

IAddrBook::OpenEntry

IMAPIProp::OpenProperty

Каноническое свойство PidTagCreateTemplates

IAddrBook : IMAPIProp