Compartir a través de


Tablas MAPI

Hace referencia a: Outlook 2013 | Outlook 2016

Una tabla MAPI es un objeto MAPI que se usa para ver una colección de propiedades que pertenecen a otros objetos MAPI de un tipo determinado. Las tablas MAPI se estructuran en un formato de fila y columna con cada fila que representa un objeto y cada columna que representa una propiedad del objeto. Una de las propiedades que se suelen incluir en cada fila es la propiedad PR_ENTRYID (PidTagEntryId), un identificador que se puede usar para abrir y modificar el objeto.

Dado que las filas contienen valores de propiedad, recuperar una fila de una tabla es similar a obtener un conjunto de propiedades directamente desde el objeto que representa la fila. Ambas operaciones dan como resultado la recuperación de una matriz de valores de propiedad. La principal diferencia está en el control de las propiedades binarias y de cadena larga. Para su inclusión en una tabla, algunos implementadores de tabla truncan estas propiedades en 255 bytes. Cuando se recupera directamente del objeto, el valor completo siempre está disponible.

Las tablas se implementan mediante proveedores de libreta de direcciones y almacén de mensajes y MAPI, según el tipo de tabla y los objetos que contiene. Un proveedor de almacén de mensajes implementa carpetas y una tabla de contenido para cada carpeta que incluye información sobre los mensajes de la carpeta. Un proveedor de libreta de direcciones implementa contenedores de libreta de direcciones y una tabla de jerarquía que muestra su organización. MAPI implementa varias tablas diferentes, algunas para su uso por las aplicaciones cliente, otras para su uso por los proveedores de servicios y otras para su uso por ambas. La tabla de estado es única en que MAPI suministra en última instancia la tabla, pero las filas se componen de contribuciones de todos los tipos de proveedores de servicios además de MAPI.

En la ilustración siguiente se muestra uno de los usos frecuentes de una tabla en MAPI: para mostrar el contenido de una carpeta. A la derecha hay una presentación de dos mensajes como podría aparecer en una aplicación cliente de mensajería típica. La pantalla contiene cuatro fragmentos de información sobre cada mensaje: el remitente, el destinatario, el asunto y el texto del mensaje. Cada fragmento de información corresponde a una propiedad del mensaje.

A la izquierda hay una vista de la tabla de contenido que incluye estos dos mensajes. Mientras que la tabla de contenido puede tener diez filas porque la carpeta tiene diez mensajes, con cada fila que contiene muchas más de tres columnas, esta vista en particular solo se limita a dos filas y tres columnas.

En la tabla siguiente se muestran las propiedades que componen el conjunto de columnas para la vista de tabla.

Propiedad Descripción
PR_SENDER_NAME (PidTagSenderName)
Nombre del remitente
PR_ORIGINAL_DELIVERY_TIME (PidTagOriginalDeliveryTime)
Fecha y hora en que se envió el mensaje
PR_SUBJECT (PidTagSubject)
Línea del asunto del mensaje

Observe que el conjunto de propiedades que se muestran en el mensaje no es el mismo que el conjunto de columnas que se muestran en la tabla. El implementador de la tabla, en este caso un proveedor de almacén de mensajes, proporciona un conjunto predeterminado de columnas en un orden predeterminado. El cliente puede modificar este conjunto de columnas, solicitar columnas adicionales o rechazar las predeterminadas y pedir que se ordenen de una manera específica. El cliente también puede ordenar las filas y ordenarlas según el valor de una o varias columnas.

Uso de una tabla para mostrar contenido de carpetas

Uso de una tabla para mostrar el contenido de

Hay dos interfaces para trabajar con tablas:

  • IMAPITable: IUnknown proporciona a los clientes y proveedores de servicios una vista de solo lectura de los datos subyacentes de la tabla, lo que les permite ver y cambiar solo la presentación. Varios usuarios pueden acceder a los mismos datos simultáneamente con IMAPITable. IMAPITable lo implementan MAPI y los proveedores de servicios.

  • ITableData: IUnknown proporciona a los clientes y proveedores de servicios acceso de lectura y escritura a los datos subyacentes de la tabla, lo que les permite realizar cambios permanentes. MAPI implementa IMAPITable y lo usan principalmente los proveedores de servicios que acceden a ella mediante una llamada a la función CreateTable . La implementación de ITableData contiene todos los datos de la tabla y las restricciones asociadas en la memoria, lo que hace que no sea adecuado para su uso con tablas muy grandes. No se admiten restricciones compuestas y operaciones complejas como la categorización.

Vea también