Реализация функции точки входа поставщика адресной книги
Область применения: 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 указатель на этот объект.