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


Поставщики услуг MAPI

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

Существует три распространенных типа поставщиков услуг:

  • Поставщики адресных книг.

  • Поставщики хранилища сообщений.

  • Поставщики транспорта.

Поставщики адресной книги и хранилища сообщений имеют много общего. Они регистрируют уникальный идентификатор с помощью MAPI, который используется для создания идентификаторов входа для своих объектов. Они предоставляют иерархию объектов и свойств, к которым клиенты могут обращаться и управлять ими. Для объектов контейнера они поддерживают таблицу иерархии и таблицу содержимого. Они поддерживают уведомления о событиях в этих таблицах и при необходимости для отдельных объектов, чтобы клиенты могли получать сведения об изменениях, происходящих во время сеанса. Когда операции становятся длительными, они могут отображать индикатор хода выполнения, чтобы сообщить пользователю о состоянии операции. Клиенты могут взаимодействовать с поставщиками адресной книги и хранилища сообщений косвенно через MAPI с помощью интерфейсов IAddrBook : IMAPIProp и IMAPISession : IUnknown или напрямую с помощью одного из интерфейсов поставщика услуг в следующей таблице.

Интерфейсы поставщика адресных книг Интерфейсы поставщика хранилища сообщений
IABContainer : IMAPIContainer
IMsgStore: IMAPIProp
IDistList : IMAPIContainer
IMAPIFolder : IMAPIContainer
IMailUser : IMAPIProp
IMessage: IMAPIProp

IAttach : IMAPIProp

Поставщики транспорта отличаются от поставщиков адресных книг и хранилищ сообщений тем, как они взаимодействуют с MAPI и с клиентами. Поставщики транспорта обычно ожидают, пока MAPI предложит им информацию, а не инициирует обмен данными. В отличие от других поставщиков, поставщики транспорта не поддерживают различные объекты и таблицы, к которым обычно обращаются клиенты. Однако они поддерживают объект состояния, как и все поставщики услуг, и публикуют его свойства в таблице состояния. В то время как поставщики адресной книги и хранилища сообщений вызывают метод IMAPISupport::SetProviderUID для регистрации уникальных идентификаторов для создания идентификаторов записи, поставщики транспорта вызывают метод IXPLogon::AddressTypes для регистрации уникальных идентификаторов, а также типы адресов для выполнения ответственности за доставку определенных сообщений.

У поставщика услуг должно быть три файла заголовка: один общедоступный файл заголовка и два внутренних файла. Используйте открытый файл заголовка для настройки и документирования свойств и их значений. Включите в один из внутренних файлов заголовков все необходимые общедоступные заголовки MAPI; этот файл заголовка должен быть включен во все исходные файлы поставщика услуг. Используйте другой внутренний файл для определения идентификаторов ресурсов.

Поставщики адресной книги, хранилища сообщений и транспорта выполняют следующие задачи:

  • Укажите функцию точки входа.

  • Предоставьте поставщик и объект входа для обработки входа и инициализации.

  • Если поставщик принадлежит службе сообщений, укажите функцию точки входа службы сообщений.

  • Поддержка конфигурации путем реализации страницы свойств.

  • Реализуйте объект состояния и поддержку таблицы состояний.

  • Завершение работы дескриптора.

См. также

Понятия MAPI