IMsgServiceAdmin::ConfigureMsgService

适用于:Outlook 2013 | Outlook 2016

重新配置消息服务。

HRESULT ConfigureMsgService(
  LPMAPIUID lpUID,
  ULONG_PTR ulUIParam,
  ULONG ulFlags,
  ULONG cValues,
  LPSPropValue lpProps
);

参数

lpUID

[in]指向 MAPIUID 结构的指针,该结构包含要配置的消息服务的唯一标识符。

ulUIParam

[in]配置属性表的父窗口的句柄。

ulFlags

[in]控制属性表显示的标志的位掩码。 可以设置以下标志:

MAPI_UNICODE

传入字符串采用 Unicode 格式。 如果未设置MAPI_UNICODE标志,则字符串采用 ANSI 格式。

MSG_SERVICE_UI_READ_ONLY

消息服务应显示其配置属性表,但不能让用户更改它。 大多数消息服务会忽略此标志。

SERVICE_UI_ALLOWED

仅当未完全配置服务时,消息服务才应显示其配置属性表。

SERVICE_UI_ALWAYS

消息服务必须始终显示其配置属性表。 如果未设置SERVICE_UI_ALWAYS,则如果设置了SERVICE_UI_ALLOWED,并且 lpProps 参数中的属性值数组中没有有效的配置信息,仍可以显示配置属性表。 必须设置SERVICE_UI_ALLOWED或SERVICE_UI_ALWAYS才能显示属性表。

cValues

[in]由 lpProps 指向 的 SPropValue 结构中的属性值计数。

lpProps

[in]指向描述要在属性表中显示的属性的属性值数组的指针。 如果应在没有用户界面的情况下配置消息服务,则 lpProps 参数不应为 NULL。

返回值

S_OK

消息服务已成功配置。

MAPI_E_EXTENDED_ERROR

特定于消息服务的错误。 若要获取描述错误的 MAPIERROR 结构,客户端应用程序应调用 IMsgServiceAdmin::GetLastError 方法。

MAPI_E_NOT_FOUND

lpUID 指向的 MAPIUID 与现有消息服务的 MAPIUID 不匹配。

MAPI_E_NOT_INITIALIZED

消息服务没有入口点函数。

MAPI_E_USER_CANCEL

用户通常通过单击属性表中的 “取消 ”按钮来取消操作。

注解

IMsgServiceAdmin::ConfigureMsgService 方法允许使用或不使用配置属性表配置消息服务。

若要允许在不显示属性表的情况下进行配置,消息服务通常会准备一个标头文件,其中包含所有必需和可选属性及其值的常量。

给调用方的说明

若要检索要配置的消息服务的 MAPIUID 结构,请从消息服务表中的消息服务行中检索 PR_SERVICE_UID (PidTagServiceUid) 列。 有关详细信息,请参阅 IMsgServiceAdmin::CreateMsgService 方法中概述的过程。

仅当有有关要设置的属性值的预先信息时,才能配置消息服务,而无需向用户显示属性表。 如果在未显示属性表的情况下配置消息服务,请在 lpProps 参数中传递有效属性值,并且不设置MSG_SERVICE_UI_READ_ONLY、SERVICE_UI_ALLOWED或SERVICE_UI_ALWAYS标志。

如果通过属性表从用户处收到所有或部分配置信息,请在 ulFlags 中设置SERVICE_UI_ALLOWED。 如果仅使用现有属性信息来建立默认设置,并且用户能够更改设置,请在 ulFlags 中设置SERVICE_UI_ALWAYS。

MFCMAPI 引用

有关 MFCMAPI 示例代码,请参阅下表。

文件 函数 备注
MAPIProfileFunctions.cpp
HrAddServiceToProfile
MFCMAPI 使用 IMsgServiceAdmin::ConfigureMsgService 方法配置已添加到配置文件的服务。

另请参阅

MAPIUID

SPropValue

IMsgServiceAdmin : IUnknown

MFCMAPI 代码示例