Sobre notificações de tabela

Aplica-se a: Outlook 2013 | Outlook 2016

Os clientes geralmente dependem de notificações de tabela para saber sobre alterações em objetos, em vez de se registrarem para receber notificações diretamente dos objetos. As alterações típicas que fazem com que as notificações sejam enviadas incluem a adição, a exclusão ou a modificação de uma linha e qualquer erro crítico. Quando as notificações chegarem, os clientes poderão determinar se desejam fazer outra chamada para recarregar a tabela.

Como as notificações de tabela são assíncronas, há alguns problemas que podem tornar o manuseio de notificações menos simples:

  • Os dados passados na estrutura TABLE_NOTIFICATION podem não representar o estado mais atual da tabela. Por exemplo, um cliente pode fazer uma alteração em uma mensagem e decidir excluí-la. O provedor do repositório de mensagens que implementa a tabela de conteúdo que incluiu a mensagem envia duas notificações: um evento TABLE_ROW_MODIFIED seguido por um evento TABLE_ROW_DELETED. Dependendo de como o provedor do repositório de mensagens cronometra as notificações, o cliente pode receber a notificação de TABLE_ROW_MODIFIED após a exclusão da linha.

  • O conjunto de colunas incluído com uma notificação pode ser diferente do conjunto de colunas atual da tabela. O MAPI requer que o conjunto de colunas de notificação corresponda ao conjunto de colunas que estava em vigor no momento em que a notificação foi gerada. Como é possível que um cliente chame IMAPITable::SetColumns para alterar o conjunto de colunas a qualquer momento, inclusive após uma notificação, os dois conjuntos de colunas podem não ser sincronizados.

  • As notificações de tabela são enviadas apenas para as linhas que fazem parte do modo de exibição. Ou seja, se uma linha for excluída da exibição devido a uma restrição ou porque a tabela está em um estado recolhido, nenhuma notificação será enviada se essa linha for alterada. Além disso, nenhuma notificação é enviada para informar um cliente sobre uma alteração no estado da categoria.

Os clientes devem estar cientes de que nem todas as tabelas dão suporte à notificação TABLE_SORT_DONE e devem estar preparados para lidar com essa condição:

  1. Forçando a classificação a ser síncrona.

  2. Recarregando as linhas da tabela quando IMAPITable::SortTable retornar.

Confira também

Tabelas MAPI