Compartir a través de


Acerca de las notificaciones de tabla

Hace referencia a: Outlook 2013 | Outlook 2016

A menudo, los clientes se basan en notificaciones de tabla para obtener información sobre los cambios en los objetos en lugar de registrarse para recibir notificaciones directamente de los objetos. Los cambios típicos que provocan el envío de notificaciones incluyen la adición, eliminación o modificación de una fila y cualquier error crítico. Cuando llegan las notificaciones, los clientes pueden determinar si realizar otra llamada para volver a cargar la tabla.

Dado que las notificaciones de tabla son asincrónicas, hay algunos problemas que pueden hacer que el control de notificaciones sea menos sencillo:

  • Es posible que los datos pasados en la estructura TABLE_NOTIFICATION no representen el estado más actual de la tabla. Por ejemplo, un cliente podría realizar un cambio en un mensaje y, a continuación, decidir eliminarlo. El proveedor de almacén de mensajes que implementa la tabla de contenido que incluía el mensaje envía dos notificaciones: un evento TABLE_ROW_MODIFIED seguido de un evento de TABLE_ROW_DELETED. En función de cómo el proveedor del almacén de mensajes aprete las notificaciones, el cliente podría recibir la notificación de TABLE_ROW_MODIFIED después de la eliminación de la fila.

  • El conjunto de columnas incluido con una notificación puede ser diferente del conjunto de columnas actual de la tabla. MAPI requiere que el conjunto de columnas de notificación coincida con el conjunto de columnas que estaba en vigor en el momento en que se generó la notificación. Dado que es posible que un cliente llame a IMAPITable::SetColumns para modificar el conjunto de columnas en cualquier momento, incluso después de una notificación, es posible que los dos conjuntos de columnas no se sincronicen.

  • Las notificaciones de tabla solo se envían para las filas que forman parte de la vista. Es decir, si una fila se excluye de la vista debido a una restricción o porque la tabla está en un estado contraído, no se enviará ninguna notificación si esa fila cambia. Además, no se envía ninguna notificación para informar a un cliente sobre un cambio en el estado de la categoría.

Los clientes deben tener en cuenta que no todas las tablas admiten la notificación de TABLE_SORT_DONE y deben estar preparados para controlar esta condición mediante:

  1. Forzar la ordenación a ser sincrónica.

  2. Volver a cargar las filas de la tabla cuando IMAPITable::SortTable devuelve.

Vea también

Tablas MAPI