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


Реализация функции точки входа поставщика адресной книги

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

Когда клиентское приложение вызывает MAPILogonEx , чтобы начать сеанс с помощью профиля, содержащего поставщика адресной книги, MAPI загружает ваш поставщик и все остальные, которые являются частью профиля. MAPI узнает имя функции точки входа поставщика, просматривая профиль. Помните, что эта функция не совпадает с функцией точки входа DLL. См. документацию по DllMain в документации по Win32.

Существует несколько записей, некоторые из которых должны отображаться в файле конфигурации mapisvc.inf, которые включены в раздел профиля каждого поставщика адресной книги. В следующей таблице перечислены эти записи разделов профиля и указаны ли их в файле mapisvc.inf.

Запись раздела профиля Требование mapisvc.inf
PR_DISPLAY_NAME= строка
Необязательный
PR_PROVIDER_DISPLAY= строка
Обязательный
PR_PROVIDER_DLL_NAME = имя dll-файла
Обязательный
PR_RESOURCE_TYPE= long
Обязательный
PR_RESOURCE_FLAGS= битовая маска
Необязательный

Поставщик адресной книги может поместить эти сведения в профиль напрямую, вызвав метод IMAPIProp::SetProps раздела профиля или косвенно изменив MAPISVC.INF. Профили создаются с использованием соответствующих сведений в MAPISVC. INF для выбранных поставщиков услуг или служб сообщений. Дополнительные сведения об организации и содержимом MAPISVC. Inf, см . раздел Формат файла MapiSvc.inf.

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

  • Проверьте версию интерфейса поставщика услуг (SPI), чтобы убедиться, что MAPI использует версию, совместимую с версией, используемой поставщиком адресной книги.

  • Создание экземпляра объекта поставщика адресной книги.

Не вызывайте MAPIInitialize или MAPIUninitialize в этой функции.

Функция точки входа DLL создает экземпляр объекта поставщика и возвращает в MAPI указатель на этот объект.