IProviderAdmin::CreateProvider
适用于:Outlook 2013 | Outlook 2016
将服务提供程序添加到消息服务。
HRESULT CreateProvider(
LPSTR lpszProvider,
ULONG cValues,
LPSPropValue lpProps,
ULONG_PTR ulUIParam,
ULONG ulFlags,
MAPIUID FAR * lpUID
);
参数
lpszProvider
[in]指向要添加的提供程序名称的指针。
cValues
[in] lpProps 参数指向的属性值计数。
lpProps
[in]指向属性值数组的指针,该数组描述要添加的提供程序的属性。
ulUIParam
[in]此方法显示的任何对话框或窗口的父窗口的句柄。 如果在 ulFlags 参数中设置了MAPI_DIALOG标志,则使用 ulUIParam 参数。
ulFlags
[in]控制提供程序添加的标志的位掩码。 可以设置以下标志:
MAPI_DIALOG:显示一个对话框,提示输入配置信息。
MAPI_UNICODE:提供程序名称和字符串属性采用 Unicode 格式。 如果未设置MAPI_UNICODE标志,则这些字符串采用 ANSI 格式。
lpUID
[out]指向 MAPIUID 结构的指针,该结构包含表示要添加的提供程序的唯一标识符。
返回值
S_OK
提供程序已成功添加到消息服务。
MAPI_E_USER_CANCEL
用户取消了操作,通常单击对话框中的“ 取消 ”按钮。
备注
IProviderAdmin::CreateProvider 方法向消息服务添加服务提供程序。 lpszProvider 参数必须指向属于消息服务的提供程序的名称。 CreateProvider 不验证名称是否与服务中提供程序的名称匹配;如果传递的名称与服务名称不匹配,则调用成功,但结果不可预测。 大多数消息服务不允许在使用配置文件时添加或删除提供程序。
将有关服务提供程序的所有可用信息从 Mapisvc.inf 文件添加到配置文件后, CreateProvider 调用消息服务的入口点函数,并将 ulContext 参数设置为 MSG_SERVICE_PROVIDER_CREATE。 如果在 CreateProvider 方法的 ulFlags 参数中设置了MAPI_DIALOG, 则 ulUIParam 和 ulFlags 参数中的值也会传递给入口点函数。 这些附加参数使服务提供程序能够显示其属性表,以便用户可以输入配置设置。