Интеграция кода сервера форм MAPI с Windows Code

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

Помните, что сервер форм является приложением Win32. Таким образом, существуют некоторые задачи, связанные с загрузкой сервера форм в память и чистым выходом. Как и во всех приложениях Windows, точкой входа для сервера форм является функция WinMain . Эта функция подходит для выполнения следующих задач:

  • Создание и регистрация класса окна, чтобы сервер форм могли взаимодействовать с другими компонентами OLE.

  • Создание и регистрация класса окна или классов для пользовательских интерфейсов объектов формы.

  • Вызов функции MAPIInitialize . MAPIInitialize также обрабатывает требуемую инициализацию OLE. Это необходимо сделать один раз для каждого экземпляра сервера форм.

  • Регистрация глобального атома со строковым представлением идентификатора класса сервера формы (CLSID). Этот атом должен существовать в течение времени существования сервера формы.

  • Вызов функции OLE CoRegisterClassObject для регистрации фабрики классов сервера форм с помощью OLE.

  • Создание главного окна для получения сообщений. Вероятно, это окно не обязательно должно быть видимым, так как пользователь будет взаимодействовать с конкретными окнами, связанными с отдельными объектами формы. Однако во время разработки главное окно может быть удобным местом для отладки выходных данных или управления сервером форм.

  • Создание цикла сообщений, который выполняется в течение времени существования сервера форм, преобразуя и отправляя сообщения Windows в активные объекты формы.

Когда сервер форм завершает работу, он должен выполнять следующие задачи:

  • Вызовите функцию OLE CoRevokeClassObject , чтобы отозвать регистрацию OLE класса сообщения.

  • Вызовите MAPIUninitialize , чтобы правильно закрыть подключение сервера формы к MAPI.

  • Удалите глобальный атом, содержащий строковое представление идентификатора класса.

См. также

Написание кода сервера форм