IMAPIFormContainer::InstallForm
Область применения: Outlook 2013 | Outlook 2016
Устанавливает форму в библиотеку форм.
HRESULT InstallForm(
ULONG_PTR ulUIParam,
ULONG ulFlags,
LPCSTR szCfgPathName
);
Параметры
ulUIParam
[в] Дескриптор родительского окна всех диалоговых окон или окон, отображаемых этим методом. Параметр ulUIParam игнорируется, если клиентское приложение не задает флаг MAPI_DIALOG в параметре ulFlags . Параметр ulUIParam может иметь значение NULL, если MAPI_DIALOG также не передается.
ulFlags
[в] Битовая маска флагов, управляющая установкой формы. Можно задать следующие флаги:
MAPI_DIALOG
Отображает диалоговое окно для предоставления сведений о ходе выполнения или запроса у пользователя дополнительных сведений. Если этот флаг не задан, диалоговое окно не отображается.
MAPI_UNICODE
Переданные строки имеют формат Юникода. Если флаг MAPI_UNICODE не задан, строки имеют формат ANSI.
MAPIFORM_INSTALL_OVERWRITEONCONFLICT
Если уже существует другая форма, обрабатывающая класс сообщений, обрабатываемый этой формой, замените существующую форму этой. Этот флаг игнорируется, если флаг MAPI_DIALOG также присутствует.
szCfgPathName
[в] Путь к файлу конфигурации формы.
Возвращаемое значение
S_OK
����� ������� � ������ ��������� ��������� ��� ��������.
MAPI_E_EXTENDED_ERROR
Произошла ошибка реализации. Чтобы получить структуру MAPIERROR , связанную с ошибкой, вызовите метод IMAPIFormContainer::GetLastError .
MAPI_E_USER_CANCEL
Пользователь отменил установку формы, обычно нажав кнопку Отмена в диалоговом окне.
Примечания для исполнителей
Поставщики библиотек форм должны заполнить структуру MAPIERROR и возвращать MAPI_E_EXTENDED_ERROR, если возникает какое-либо из следующих условий:
Файл конфигурации не найден.
Файл конфигурации недоступен для чтения.
Недопустимый файл конфигурации.
Примечания для вызывающих методов
Клиентские приложения вызывают метод IMAPIFormContainer::InstallForm , чтобы установить форму в определенный контейнер формы. Параметр szCfgPathName должен содержать путь к файлу конфигурации формы (то есть файлу с расширением CFG, описывающим форму и ее реализацию). Флаги в параметре ulFlags указывают следующее:
Если установлен флаг MAPI_DIALOG, отображается пользовательский интерфейс, позволяющий пользователю, устанавливающему форму, указать сведения об установке.
Если установлен флаг MAPIFORM_INSTALL_OVERWRITEONCONFLICT, любая предыдущая форма для того же класса сообщений заменяется устанавливаемой формой. В противном случае установка формы объединяется с текущим описанием формы, если оно существует.
Если MAPI_DIALOG задано, MAPIFORM_INSTALL_OVERWRITEONCONFLICT игнорируется.
Отсутствие MAPIFORM_INSTALL_OVERWRITEONCONFLICT в наборе флагов означает, что слияние будет выполнено. Все новые платформы в CFG-файле, которые в настоящее время отсутствуют в описании формы, будут установлены, и никаких других изменений не произойдет.
Если установлен флаг MAPI_UNICODE, путь к файлу конфигурации формы представляет собой строку Юникода.
Клиенты должны вызвать IMAPIFormContainer::GetLastError, если InstallForm возвращает MAPI_E_EXTENDED_ERROR, и они должны проверка возвращенную структуру MAPIERROR, чтобы определить условие, вызвавщее ошибку.
Справочные материалы по MFCMAPI
Пример кода MFCMAPI указан в приведенной ниже таблице.
Файл | Функция | Comment |
---|---|---|
FormContainerDlg.cpp |
CFormContainerDlg::OnInstallForm |
MFCMAPI использует метод IMAPIFormContainer::InstallForm для установки формы в контейнере формы. |