Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: Outlook 2013 | Outlook 2016
Uma tabela única contém informações sobre os modelos que um provedor de catálogo de endereços dá suporte para criar novos destinatários. As tabelas únicas são implementadas por provedores de catálogo de endereços, contêineres de catálogo de endereços individuais e por MAPI e podem ser persistentes ou temporárias.
Observação
Não confunda os modelos em tabelas únicas com identificadores de modelo; Embora seus propósitos sejam semelhantes, suas construções de código não são nada parecidas. Os modelos são usados para criar destinatários de um tipo específico, enquanto os identificadores de modelo são usados para vincular os dados de um destinatário que pertence a um provedor de host com código para dar suporte a outro destinatário que pertence a um provedor estrangeiro.
Os clientes criam novos destinatários:
Para adicionar à lista de destinatários de uma mensagem de saída.
Para adicionar a um dos contêineres no catálogo de endereços.
Em ambos os cenários, um provedor de catálogo de endereços é solicitado a retornar uma tabela única. Os provedores de catálogo de endereços podem implementar uma única tabela única para ser usada em ambas as situações ou uma tabela única exclusiva para cada situação.
Quando o destinatário será incluído em uma mensagem de saída, o MAPI chama o método IABLogon::GetOneOffTable do provedor de catálogo de endereços para recuperar sua tabela única. A tabela única inclui modelos que permitem ao usuário inserir informações, resultando na criação de um destinatário com um endereço válido. O MAPI registra notificações nessa tabela, mantendo-a aberta para que as alterações possam ser refletidas para o usuário. O MAPI libera a tabela somente quando o método IMAPIStatus::ValidateState do objeto de status do subsistema ou catálogo de endereços é chamado.
Quando o destinatário será adicionado a um contêiner, o MAPI fará uma chamada diferente, invocando o método IMAPIProp::OpenProperty do contêiner para recuperar sua propriedade PR_CREATE_TEMPLATES (PidTagCreateTemplates). O conjunto de modelos incluídos nesta tabela única representa os tipos de destinatários que podem ser adicionados ao contêiner. Por exemplo, servidores de email geralmente expõem um contêiner para cada gateway instalado, de modo que cada contêiner contenha apenas endereços específicos do gateway correspondente.
O MAPI fornece uma tabela única que inclui seus próprios modelos, bem como modelos de cada um dos provedores de catálogo de endereços na sessão. O MAPI fornece um modelo genérico que pode ser usado para criar um novo destinatário para qualquer tipo de endereço, supondo que o usuário conheça seu formato. Os provedores de catálogo de endereços usam essa tabela única chamando IMAPISupport::GetOneOffTable. Cada um dos modelos incluídos na tabela única MAPI resulta na criação de destinatários com endereços de destinatários válidos.
Os provedores de catálogo de endereços normalmente fornecem um modelo para cada tipo de endereço com suporte. No entanto, o suporte para modelos não é necessário. Os provedores de catálogo de endereços que não permitem a criação de novos endereços podem retornar MAPI_E_NO_SUPPORT quando MAPI chama para solicitar uma tabela única. Os provedores de catálogo de endereços que permitem a criação de novos endereços, mas não fornecem modelos, podem chamar IMAPISupport::GetOneOffTable para usar os modelos listados na tabela única MAPI.
As seguintes propriedades compõem o conjunto de colunas necessário em tabelas únicas:
PR_ADDRTYPE (PidTagAddressType)
PR_DEPTH (PidTagDepth)
PR_DISPLAY_NAME (PidTagDisplayName)
PR_DISPLAY_TYPE (PidTagDisplayType)
PR_ENTRYID (PidTagEntryId)
PR_INSTANCE_KEY (PidTagInstanceKey)
PR_SELECTABLE (PidTagSelectable)
PR_ADDRTYPE indica o tipo de endereço que pode ser associado ao novo destinatário criado com o modelo.
PR_DISPLAY_NAME e PR_DISPLAY_TYPE associar dados ao novo destinatário. PR_DISPLAY_NAME contém uma cadeia de caracteres que identifica o novo destinatário e PR_DISPLAY_TYPE contém uma constante que identifica o tipo de ícone a ser exibido com a linha. Os modelos para usuários de mensagens têm sua coluna PR_DISPLAY_TYPE definida como DT_MAILUSER; Os modelos para listas de distribuição têm sua coluna PR_DISPLAY_TYPE definida como DT_DISTLIST.
PR_ENTRYID é o identificador de entrada do modelo a ser usado para criar um novo destinatário. Esse identificador de entrada pode ser passado para futuras chamadas IAddrBook::NewEntry, IAddrBook::OpenEntry e IABContainer::CreateEntry . Os contêineres definem a coluna PR_ENTRYID de sua linha para o modelo de usuário de mensagens padrão como PR_DEF_CREATE_MAILUSER (PidTagDefCreateMailuser) e a coluna PR_ENTRYID de sua linha para o modelo de lista de distribuição padrão para PR_DEF_CREATE_DL (PidTagDefCreateDl).
PR_DEPTH é usado para dar suporte à exibição hierárquica das entradas em uma tabela única, indicando o nível de recuo do modelo. Embora tabelas únicas possam ser exibidas como uma lista simples ou uma exibição hierárquica, a última é preferível e os provedores de catálogo de endereços devem dar suporte a ela definindo a coluna PR_DEPTH para cada linha adequadamente. PR_DEPTH é baseado em zero; As linhas com valor 0 na coluna PR_DEPTH não são recuadas. Quanto maior o valor de PR_DEPTH, mais recuo a linha. Por exemplo, linhas com PR_DEPTH definido como 1 são recuadas uma tabulação, enquanto as linhas com PR_DEPTH definido como 3 são recuadas três tabulações.
PR_SELECTABLE é usado para indicar se uma linha na tabela representa um modelo que pode ser selecionado e usado para criar um novo destinatário. Embora a maioria das linhas em uma tabela única represente modelos, os provedores podem incluir linhas que não são de modelo. Por exemplo, um provedor pode querer organizar a tabela única por tipo de modelo, incluindo uma linha de categoria que aparece na tela, mas não é usada para a criação de destinatários.