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


IMAPISession::OpenAddressBook

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

Открывает интегрированную адресную книгу MAPI, возвращая указатель IAddrBook для дальнейшего доступа.

HRESULT OpenAddressBook(
  ULONG_PTR ulUIParam,
  LPCIID lpInterface,
  ULONG ulFlags,
  LPADRBOOK FAR * lppAdrBook
);

Параметры

ulUIParam

[в] Дескриптор родительского окна диалогового окна общего адреса и других связанных дисплеев.

lpInterface

[в] Указатель на идентификатор интерфейса (IID), представляющий интерфейс, используемый для доступа к адресной книге. Передача значения NULL возвращает указатель на стандартный интерфейс адресной книги IAddrBook : IMAPIProp.

ulFlags

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

AB_NO_DIALOG

Подавляет отображение диалоговых окон. Если флаг AB_NO_DIALOG не задан, поставщики адресных книг, которые участвуют в интегрированной адресной книге, могут запрашивать у пользователя любые необходимые сведения.

lppAdrBook

[out] Указатель на указатель на адресную книгу.

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

S_OK

Адресная книга успешно открыта.

MAPI_W_ERRORS_RETURNED

Вызов выполнен успешно, но контейнеры одного или нескольких поставщиков адресных книг не удалось открыть. При возврате этого предупреждения вызов должен быть обработан как успешный. Чтобы проверить наличие этого предупреждения, используйте макрос HR_FAILED . Дополнительные сведения см. в разделе Использование макросов для обработки ошибок.

Замечания

Метод IMAPISession::OpenAddressBook открывает интегрированную адресную книгу MAPI, коллекцию контейнеров верхнего уровня всех поставщиков адресных книг в профиле. Указатель, возвращаемый в параметре lppAdrBook , обеспечивает дополнительный доступ к содержимому адресной книги. Это позволяет вызывающей выполнять такие задачи, как открытие отдельных контейнеров, поиск пользователей с сообщениями и отображение диалоговых окон с общими адресами.

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

OpenAddressBook возвращает MAPI_W_ERRORS_RETURNED, если не удается загрузить один или несколько поставщиков адресной книги в профиле. Это значение является предупреждением, а не значением ошибки; обработайте его так, как вы S_OK. OpenAddressBook всегда возвращает допустимый указатель в параметре lppAdrBook независимо от того, сколько поставщиков адресной книги не удалось загрузить. Поэтому перед выходом из системы необходимо всегда вызывать метод IUnknown::Release адресной книги.

Когда OpenAddressBook возвращает MAPI_W_ERRORS_RETURNED, вызовите IMAPISession::GetLastError , чтобы получить структуру MAPIERROR , содержащую сведения о поставщиках, которые завершаются сбоем. Возвращается одна структура MAPIERROR , содержащая сведения, предоставляемые всеми поставщиками.

Справочные материалы по MFCMAPI

Пример кода MFCMAPI указан в приведенной ниже таблице.

Файл Функция Comment
MAPIObjects.cpp
CMapiObjects::GetAddrBook
MFCMAPI использует метод IMAPISession::OpenAddressBook для получения интегрированной адресной книги.

См. также

IAddrBook : IMAPIProp

IMAPISession::GetLastError

MAPIERROR

IMAPISession: IUnknown

Mfcmapi (en) � �������� ������� ����