IMAPIFormContainer::InstallForm
适用于:Outlook 2013 | Outlook 2016
将窗体安装到表单库中。
HRESULT InstallForm(
ULONG_PTR ulUIParam,
ULONG ulFlags,
LPCSTR szCfgPathName
);
参数
ulUIParam
[in]此方法显示的任何对话框或窗口的父窗口的句柄。 除非客户端应用程序在 ulFlags 参数中设置 MAPI_DIALOG 标志,否则将忽略 ulUIParam 参数。 如果未同时传递 MAPI_DIALOG,ulUIParam 参数可以为 NULL。
ulFlags
[in]控制窗体安装的标志的位掩码。 可以设置以下标志:
MAPI_DIALOG
显示一个对话框,用于提供进度信息或提示用户输入详细信息。 如果未设置此标志,则不显示任何对话框。
MAPI_UNICODE
传入的字符串采用 Unicode 格式。 如果未设置MAPI_UNICODE标志,则字符串采用 ANSI 格式。
MAPIFORM_INSTALL_OVERWRITEONCONFLICT
如果已存在处理此窗体处理的邮件类的另一个窗体,请将现有窗体替换为此窗体。 如果MAPI_DIALOG标志也存在,则忽略此标志。
szCfgPathName
[in]窗体配置文件的路径。
返回值
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 标志,则表单配置文件的路径为 Unicode 字符串。
如果 InstallForm 返回MAPI_E_EXTENDED_ERROR,客户端应调用 IMAPIFormContainer::GetLastError,并且它们应检查返回的 MAPIERROR 结构,以确定引发错误的条件。
MFCMAPI 引用
有关 MFCMAPI 示例代码,请参阅下表。
文件 | 函数 | Comment |
---|---|---|
FormContainerDlg.cpp |
CFormContainerDlg::OnInstallForm |
MFCMAPI 使用 IMAPIFormContainer::InstallForm 方法在窗体容器中安装窗体。 |