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, 则 ulUIParamulFlags 参数中的值也会传递给入口点函数。 这些附加参数使服务提供程序能够显示其属性表,以便用户可以输入配置设置。

另请参阅