Compartir a través de


IMsgServiceAdmin2::CreateMsgServiceEx

Hace referencia a: Outlook 2013 | Outlook 2016

Agrega un servicio de mensajes al perfil actual y devuelve ese UID de servicio recién agregado.

HRESULT CreateMsgServiceEx(
  LPSTR lpszService,
  LPSTR lpszDisplayName,
  ULONG_PTR ulUIParam,
  ULONG ulFlags, 
  LPMAPIUID lpuidService
);

Parameters

lpszService

[in] Puntero al nombre del servicio de mensajes que se va a agregar. Este nombre del servicio de mensajes debe aparecer en la sección [Servicios] del archivo MapiSvc.inf.

lpszDisplayName

[in] Puntero al nombre para mostrar del servicio de mensajes que se va a agregar. El parámetro lpszDisplayName se omite si el servicio de mensajes ha establecido la propiedad PR_DISPLAY_NAME (PidTagDisplayName) en el archivo MapiSvc.inf.

ulUIParam

[in] Identificador de la ventana primaria de los cuadros de diálogo o ventanas que muestra este método.

ulFlags

[in] Máscara de bits de marcas que controla cómo se instala el servicio de mensajes. Se pueden establecer las siguientes marcas:

MAPI_UNICODE

Los parámetros lpszService y lpszDisplayName deben convertirse en LPWSTR e interpretarse como cadenas Unicode.

SERVICE_NO_RESTART_WARNING

Al agregar un nuevo servicio de mensajes al perfil, el subsistema MAPI, en función de diversas circunstancias y criterios, a menudo determina que esta acción requiere un reinicio de Outlook. Si no se incluye la marca de SERVICE_NO_RESTART_WARNING y se permite la interfaz de usuario ,en función de las marcas de SERVICE_UI_ALWAYS y SERVICE_UI_ALLOWED, y al menos un proceso se registra en el perfil actual, esta función muestra el mensaje "Debe reiniciar Outlook para que estos cambios surtan efecto". La inclusión de la marca SERVICE_NO_RESTART_WARNING suprime la visualización de ese mensaje de advertencia.

SERVICE_UI_ALLOWED

La interfaz de usuario de configuración del servicio de mensajes se permite si es necesario.

SERVICE_UI_ALWAYS

El servicio de mensajes muestra su hoja de propiedades de configuración.

lpuidService

[out] Puntero al UID del servicio de mensajes agregado.

Valor devuelto

S_OK

La llamada se ha realizado correctamente y devuelva el valor esperado o los valores.

MAPI_E_NOT_FOUND

El nombre del servicio de mensajes no está en la sección [Servicios] de MapiSvc.inf.

Comentarios

El método IMsgServiceAdmin2::CreateMsgServiceEx agrega un servicio de mensajes al perfil actual. CreateMsgServiceEx llama a la función de punto de entrada del servicio de mensajes para realizar cualquier tarea de configuración específica del servicio. Si la marca de SERVICE_UI_ALLOWED se establece en el parámetro ulFlags , el servicio de mensajes que se instala puede mostrar una hoja de propiedades que permita al usuario configurar su configuración.

El archivo MapiSvc.inf contiene la lista de proveedores que componen un servicio de mensajes y las propiedades de cada uno. CreateMsgServiceEx crea primero una nueva sección de perfil para el servicio de mensajes y, a continuación, copia toda la información de ese servicio desde el archivo MapiSvc.inf en el perfil, creando nuevas secciones para cada proveedor.

Después de copiar toda la información de MapiSvc.inf, se llama a la función de punto de entrada del servicio de mensajes, MSGSERVICEENTRY, con el valor MSG_SERVICE_CREATE establecido en el parámetro ulContext . Si la marca de SERVICE_UI_ALLOWED se establece en el parámetro ulFlags del método CreateMsgServiceEx, los valores de los parámetros ulUIParam y ulFlags también se pasan cuando se llama a la función de punto de entrada del servicio de mensajes. Los proveedores de servicios deben mostrar sus hojas de propiedades de configuración para que los usuarios puedan configurar el servicio de mensajes.

Notas para los llamadores

Si el argumento CreateMsgServiceExlpuidService no es NULL, la propiedad PR_SERVICE_UID (PidTagServiceUid) del servicio de mensajes que se agregó al perfil se devuelve en el GUID al que apunta.

Pase el valor de la propiedad PR_SERVICE_UID del parámetro lpuidService al método IMsgServiceAdmin::ConfigureMsgService para configurar el servicio.

Precaución

La implementación de Microsoft Outlook 2010 del subsistema MAPI no admite MAPI_UNICODE y producirá un error si se usa.

Importante

La interfaz IMsgServiceAdmin2 se expone mediante el mismo objeto que implementa la interfaz IMsgServiceAdmin y ha estado disponible mediante la implementación de Outlook del subsistema MAPI desde Outlook 2003. Su IID se define de la siguiente manera: #if !defined(INITGUID) || defined(USES_IID_IMsgServiceAdmin2)DEFINE_OLEGUID(IID_IMsgServiceAdmin2,0x00020387, 0, 0);> Es posible que el SERVICE_NO_RESTART_WARNING ulFlags no esté definido en el archivo de encabezado descargable que tiene actualmente, en cuyo caso puede agregarlo al código mediante el siguiente valor: #define SERVICE_NO_RESTART_WARNING 0x00000080

Vea también

IMsgServiceAdmin2: IMsgServiceAdminMFCMAPI como ejemplo de código