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


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 для установки формы в контейнере формы.

См. также

MAPIERROR

IMAPIFormContainer : IUnknown

Mfcmapi (en) � �������� ������� ����