IMAPISupport::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
[in] ���������������; ������ ���� ����� ����.
cbEIDContainer
[в] Число байтов в идентификаторе записи, на который указывает параметр lpEIDContainer .
lpEIDContainer
[в] Указатель на идентификатор записи контейнера для получения новой записи. Если cbEIDContainer имеет значение 0, а lpEIDContainer имеет значение NULL, NewEntry создает идентификатор однократной записи того же типа, что и при вызове метода IMAPISupport::CreateOneOff .
cbEIDNewEntryTpl
[в] Число байтов в идентификаторе записи, на который указывает параметр lpEIDNewEntryTpl .
lpEIDNewEntryTpl
[в] Указатель на идентификатор записи шаблона, который будет использоваться для создания новой записи. Если cbEIDNewEntryTpl имеет значение 0, а lpEIDNewEntryTpl — NULL, NewEntry отображает диалоговое окно, позволяющее пользователю выбрать из списка шаблонов для добавления новых записей.
lpcbEIDNewEntry
[out] Указатель на число байтов в идентификаторе записи, на который указывает параметр lppEIDNewEntry .
lppEIDNewEntry
[out] Указатель на указатель на идентификатор записи вновь созданной записи.
Возвращаемое значение
S_OK
Новая запись успешно создана.
Замечания
Для объектов поддержки поставщика адресных книг реализован метод IMAPISupport::NewEntry . Поставщики адресных книг вызывают NewEntry , чтобы создать новую запись адресной книги, которая будет добавлена непосредственно в контейнер или будет использоваться для обработки исходящего сообщения.
Примечания для вызывающих методов
Если вы хотите добавить новую запись в конкретный контейнер, задайте для lpEIDContainer значение идентификатора записи контейнера, а cbEIDContainer — число байтов в идентификаторе записи.
Если вы хотите добавить новую запись в список получателей исходящего сообщения, задайте для параметра lpEIDContainer значение NULL, а cbEIDContainer — 0.
Если вы хотите разрешить пользователю клиентского приложения выбрать тип создаваемой записи, передайте 0 в cbEIDNewEntryTpl и NULL в lpEIDNewEntryTpl. NewEntry отображает разовую таблицу MAPI, список шаблонов, которые MAPI и каждый из поставщиков адресных книг в сеансе поддерживают. Каждый шаблон может создать запись получателя для одного или нескольких типов адресов.
Если вы хотите сохранить идентификатор новой записи, передайте допустимые указатели в параметры lpcbEIDNewEntry и lppEIDNewEntry . Вы несете ответственность за освобождение этого идентификатора записи после завершения работы с ним путем вызова функции MAPIFreeBuffer .
Чтобы использовать определенный шаблон для добавления новой записи в изменяемый контейнер, выполните следующую процедуру:
Вызовите метод IMAPISupport::OpenEntry , чтобы открыть целевой контейнер, и задайте для параметра lpEntryID идентификатор записи контейнера.
Вызовите метод IMAPIProp::OpenProperty целевого контейнера и задайте для параметра ulPropTagзначение PR_CREATE_TEMPLATES (PidTagCreateTemplates), а для параметра lpiid — IID_IMAPITable. Контейнер вернет разовую таблицу со списком всех поддерживаемых шаблонов для создания новых записей.
Получите строку, представляющую шаблон для определенного типа записи, которую вы хотите создать. Столбец PR_ADDRTYPE (PidTagAddressType) указывает тип адреса, поддерживаемый шаблоном.
Вызовите IMAPISupport::NewEntry и задайте для параметра lpEIDNewEntryTpl идентификатор записи выбранного шаблона. Идентификатор записи — это столбец PR_ENTRYID (PidTagEntryId) из строки шаблона в одноразовой таблице. Передайте 0 в cbEIDContainer и NULL в lpEIDContainer. Передайте допустимый указатель в параметре lppEIDNewEntry , если вы хотите сохранить идентификатор записи.