Compartilhar via


Tabelas de hierarquia

Aplica-se a: Outlook 2013 | Outlook 2016

Uma tabela de hierarquia contém informações sobre as pastas em um repositório de mensagens ou os contêineres em um contêiner de catálogo de endereços. Cada linha de uma tabela de hierarquia contém um conjunto de colunas com informações sobre uma pasta ou contêiner de catálogo de endereços. As tabelas de hierarquia são usadas principalmente por clientes e implementadas por provedores de repositório de mensagens para mostrar uma árvore de pastas e subpastas e implementadas por provedores de catálogo de endereços para mostrar uma árvore de contêineres no catálogo de endereços. Os contêineres que não podem conter subcontentores, conforme indicado pela ausência do sinalizador de AB_SUBCONTAINERS em sua propriedade PR_CONTAINER_FLAGS (PidTagContainerFlags), não implementam uma tabela de hierarquia.

Uma tabela de hierarquia pode ser acessada chamando:

Contêineres e pastas devem dar suporte a ambas as técnicas para recuperar propriedades da tabela. É inaceitável que os provedores de serviços dêem suporte apenas a uma maneira de acessar essas tabelas porque os clientes esperam ter a escolha.

Importante

Os provedores de armazenamento não têm garantia de honrar o conjunto de pedidos de classificação especificado para tabelas de hierarquia.

A chamada para IMAPIProp::OpenProperty envolve acessar a tabela de hierarquia abrindo sua propriedade correspondente, PR_CONTAINER_HIERARCHY. Embora PR_CONTAINER_HIERARCHY não possa ser recuperado por meio do método IMAPIProp::GetProps de uma pasta ou contêiner, ele é incluído na matriz de marcas de propriedade que é retornada pelo método IMAPIProp::GetPropList .

PR_CONTAINER_HIERARCHY também pode ser usado para incluir ou excluir uma tabela de hierarquia de uma operação de cópia. Se um cliente especificar PR_CONTAINER_HIERARCHY no parâmetro lpExcludeProps para IMAPIProp::CopyTo em uma operação de cópia, a nova pasta ou contêiner não dará suporte à tabela de hierarquia da pasta ou contêiner original.

As seguintes propriedades compõem o conjunto de colunas necessário em uma tabela de hierarquia:

Valor
PR_COMMENT (PidTagComment)
PR_DEPTH (PidTagDepth)
PR_DISPLAY_NAME (PidTagDisplayName)
PR_DISPLAY_TYPE (PidTagDisplayType)
PR_ENTRYID (PidTagEntryId)
PR_INSTANCE_KEY (PidTagInstanceKey)
PR_OBJECT_TYPE (PidTagObjectType)
PR_STATUS (PidTagStatus)

PR_DISPLAY_NAME contém o nome do contêiner ou pasta que deve ser exibido na exibição da hierarquia.

PR_ENTRYID é o identificador de entrada associado a esse contêiner ou pasta. Espera-se que seja um identificador de entrada de longo prazo. Clientes e MAPI podem passar esse identificador de entrada para OpenEntry para abrir o contêiner ou pasta e exibir seu conteúdo chamando IMAPIContainer::GetContentsTable.

PR_DEPTH é um valor numérico que indica o nível de recuo para este contêiner ou pasta, sendo zero o nível superior. Quanto mais profundo na hierarquia um contêiner ou pasta reside, maior o valor de sua propriedade PR_DEPTH . Os clientes usam a propriedade PR_DEPTH para exibir uma tabela de hierarquia adequadamente para que os usuários possam ver claramente as relações pai e filho. A profundidade do contêiner ou da pasta é sempre relativa ao contêiner ou pasta que implementa a tabela de hierarquia.

PR_OBJECT_TYPE é sempre definido como MAPI_ABCONT para tabelas de hierarquia de catálogo de endereços e MAPI_FOLDER para tabelas de hierarquia de pastas.

PR_DISPLAY_TYPE é um valor numérico relacionado à forma como um contêiner ou pasta é exibido na tabela de hierarquia. Ele é usado principalmente para fins de exibição, para diferenciar visualmente entre tipos de contêineres ou pastas. Muitos provedores do repositório de mensagens e do catálogo de endereços usam ícones para os diferentes tipos de exibição. Cabe ao provedor fornecer esses ícones; O MAPI não fornece padrões.

O MAPI define muitos valores para PR_DISPLAY_TYPE, alguns válidos para pastas e outros que são usados com as tabelas de hierarquia de contêineres de catálogo de endereços. Normalmente, o PR_DISPLAY_TYPE de uma pasta é definido como DT_FOLDER para indicar um ícone de pasta padrão, DT_FOLDER_LINK para indicar um ícone que representa um link para outra pasta ou DT_FOLDER_SPECIAL para indicar um ícone específico do aplicativo. DT_FOLDER_LINK é usado com pastas de resultados de pesquisa.

Além dessas colunas necessárias, as tabelas de hierarquia do catálogo de endereços devem incluir a propriedade PR_CONTAINER_FLAGS . PR_CONTAINER_FLAGS indica vários atributos sobre um contêiner na hierarquia e é usado para distinguir um contêiner de outro.

Uma propriedade opcional para tabelas de hierarquia de catálogo de endereços é a propriedade PR_AB_PROVIDER_ID (PidTagAbProviderId).

As tabelas de hierarquia do repositório de mensagens incluem essas propriedades no conjunto de colunas necessário:

Os provedores de catálogo de endereços devem dar suporte aos seguintes métodos IMAPITable em suas implementações de tabela de hierarquia porque eles são exigidos pelo catálogo de endereços integrado mapi:

Método Método
IMAPITable::QueryColumns
IMAPITable::QueryPosition
IMAPITable::SeekRow
IMAPITable::SeekRowApprox
IMAPITable::ExpandRow
IMAPITable::Restrict
IMAPITable::CreateBookmark
IMAPITable::FreeBookmark
IMAPITable::QueryRows

Confira também

Tabelas MAPI