Proveedores de servicios MAPI
Hace referencia a: Outlook 2013 | Outlook 2016
Hay tres tipos comunes de proveedores de servicios:
Proveedores de libretas de direcciones.
Proveedores de almacén de mensajes.
Proveedores de transporte.
Los proveedores de libreta de direcciones y almacén de mensajes tienen muchas similitudes. Registran un identificador único con MAPI que usan para construir identificadores de entrada para sus objetos. Proporcionan una jerarquía de objetos y propiedades a los que los clientes pueden acceder y manipular. Para sus objetos de contenedor, admiten una tabla de jerarquía y una tabla de contenido. Admiten la notificación de eventos en estas tablas y, opcionalmente, en objetos individuales para que se pueda informar a los clientes de los cambios que se producen durante la sesión. Cuando las operaciones se hacen largas, pueden mostrar un indicador de progreso para informar al usuario del estado de la operación. Los clientes pueden comunicarse con proveedores de almacén de mensajes y libreta de direcciones indirectamente a través de MAPI mediante las interfaces IAddrBook : IMAPIProp e IMAPISession : IUnknown o directamente mediante una de las interfaces del proveedor de servicios de la tabla siguiente.
Interfaces de proveedor de libreta de direcciones | Interfaces de proveedor de almacén de mensajes |
---|---|
IABContainer : IMAPIContainer |
IMsgStore: IMAPIProp |
IDistList : IMAPIContainer |
IMAPIFolder : IMAPIContainer |
IMailUser : IMAPIProp |
IMessage: IMAPIProp |
IAttach : IMAPIProp |
Los proveedores de transporte difieren de los proveedores de la libreta de direcciones y del almacén de mensajes en la forma en que se comunican con MAPI y con los clientes. Los proveedores de transporte suelen esperar a que MAPI les pida información en lugar de iniciar la comunicación. A diferencia de los otros proveedores, los proveedores de transporte no admiten una variedad de objetos y tablas a los que suelen acceder los clientes. Sin embargo, admiten un objeto de estado, al igual que todos los proveedores de servicios, y publican sus propiedades en la tabla de estado. Mientras que los proveedores de libreta de direcciones y almacén de mensajes llaman al método IMAPISupport::SetProviderUID para registrar identificadores únicos para construir sus identificadores de entrada, los proveedores de transporte llaman al método IXPLogon::AddressTypes para registrar identificadores únicos, así como tipos de direcciones para asumir la responsabilidad de la entrega de mensajes concretos.
El proveedor de servicios debe tener tres archivos de encabezado: un archivo de encabezado público y dos archivos internos. Use el archivo de encabezado público para la configuración y para documentar las propiedades y sus valores. Incluya en uno de los archivos de encabezado internos todos los encabezados MAPI públicos necesarios; Este archivo de encabezado debe incluirse en todos los archivos de origen del proveedor de servicios. Use el otro archivo interno para definir identificadores de recursos.
La libreta de direcciones, el almacén de mensajes y los proveedores de transporte realizan las siguientes tareas:
Proporcione una función de punto de entrada.
Proporcione un proveedor y un objeto de inicio de sesión para controlar el inicio de sesión y la inicialización.
Si el proveedor pertenece a un servicio de mensajes, proporcione una función de punto de entrada del servicio de mensajes.
Se admite la configuración mediante la implementación de una hoja de propiedades.
Implemente un objeto de estado y admita la tabla de estado.
Manija apagada.