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 de conteúdo contém informações sobre objetos em um contêiner MAPI. Os provedores de catálogo de endereços implementam tabelas de conteúdo para cada um de seus contêineres, e os provedores de repositório de mensagens e de transporte remoto implementam tabelas de conteúdo para suas pastas. A tabela de conteúdo de um contêiner de catálogo de endereços lista informações sobre seu usuário de mensagens e objetos de lista de distribuição, enquanto a tabela de conteúdo de uma pasta lista informações sobre suas mensagens. As tabelas de conteúdo são usadas principalmente por aplicativos cliente.
Há dois tipos de tabelas de conteúdo de pasta:
As tabelas de conteúdo Standard contêm mensagens padrão — mensagens que podem ser transmitidas e tornadas visíveis para um usuário.
As tabelas de conteúdo associado contêm informações ocultas e não transmissíveis criadas por um cliente para uma finalidade específica, como armazenar uma representação alternativa de uma mensagem padrão. As informações associadas são criadas passando o sinalizador MAPI_ASSOCIATED para a chamada IMAPIFolder::CreateMessage .
As tabelas de conteúdo da maioria dos contêineres do catálogo de endereços e muitas pastas não oferecem suporte à classificação categorizada.
Uma tabela de conteúdo pode ser acessada chamando:
IMAPIContainer::GetContentsTable.
- Ou -
IMAPIProp::OpenProperty com PR_CONTAINER_CONTENTS (PidTagContainerContents) ou PR_FOLDER_ASSOCIATED_CONTENTS (PidTagFolderAssociatedContents) (somente pastas) especificado como a marca de propriedade e IID_IMAPITable como o identificador de interface.
Os provedores de repositório de mensagens e catálogo de endereços devem dar suporte a ambas as técnicas para recuperar propriedades da tabela. É inaceitável que os provedores deem suporte a apenas uma maneira de acessar essas tabelas porque os clientes esperam ter a escolha.
GetContentsTable aceita como entrada vários sinalizadores que especificam preferências. Quando definido, o sinalizador MAPI_ASSOCIATED recupera uma tabela de conteúdo associada. Como algumas pastas não dão suporte a conteúdo associado e não há como os clientes determinarem isso antecipadamente, GetContentsTable às vezes retorna a MAPI_E_NO_SUPPORT de erro quando uma tabela de conteúdo associado é solicitada.
O sinalizador MAPI_DEFERRED_ERRORS indica ao implementador da tabela que quaisquer erros encontrados durante a chamada não precisam ser relatados até algum momento posterior.
A chamada para IMAPIProp::OpenProperty envolve o acesso a uma tabela de conteúdo abrindo sua propriedade correspondente, PR_CONTAINER_CONTENTS para tabelas de conteúdo do catálogo de endereços e tabelas de conteúdo de pasta padrão e PR_FOLDER_ASSOCIATED_CONTENTS para tabelas de conteúdo associadas. Embora nenhuma dessas propriedades possa ser recuperada por meio do método IMAPIProp::GetProps de uma pasta ou contêiner, elas são incluídas na matriz de marca de propriedade retornada pelo método IMAPIProp::GetPropList .
PR_CONTAINER_CONTENTS também pode ser usado para incluir ou excluir uma tabela de conteúdo de uma operação de cópia. Se um cliente especificar PR_CONTAINER_CONTENTS 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 conteúdo da pasta ou contêiner original.
As tabelas de conteúdo da pasta e do contêiner do catálogo de endereços têm uma longa lista de colunas necessárias, colunas que os clientes podem esperar que estejam disponíveis depois de recuperarem a tabela de GetContentsTable ou OpenProperty. Os provedores podem adicionar a esse conjunto necessário, se necessário, e os clientes, por meio do método SetColumns , também podem solicitar modificações.
As colunas necessárias para cada um dos tipos de tabelas de conteúdo são:
| Coluna obrigatória | Tabela de tipo de conteúdo |
|---|---|
|
PR_ADDRTYPE (PidTagAddressType) |
Tabelas de contêiner do catálogo de endereços |
|
PR_DISPLAY_NAME (PidTagDisplayName) |
Tabelas de contêiner do catálogo de endereços |
|
PR_DISPLAY_CC (PidTagDisplayCc) |
Tabelas de pastas do repositório de mensagens |
|
PR_DISPLAY_TO (PidTagDisplayTo) |
Todas as tabelas de conteúdo da pasta |
|
PR_DISPLAY_TYPE (PidTagDisplayType) |
Tabelas de contêiner do catálogo de endereços |
|
PR_ENTRYID (PidTagEntryId) |
Todos os índices |
|
PR_HASATTACH (PidTagHasAttachments) |
Todas as tabelas de conteúdo da pasta |
|
PR_INSTANCE_KEY (PidTagInstanceKey) |
Todos os índices |
|
PR_LAST_MODIFICATION_TIME (PidTagLastModificationTime) |
Tabelas de pastas do repositório de mensagens |
|
PR_MAPPING_SIGNATURE (PidTagMappingSignature) |
Tabelas de pastas do repositório de mensagens |
|
PR_MESSAGE_CLASS (PidTagMessageClass) |
Todas as tabelas de conteúdo da pasta |
|
PR_MESSAGE_DOWNLOAD_TIME (PidTagMessageDownloadTime) |
Tabelas de pastas de transporte remoto |
|
PR_MESSAGE_FLAGS (PidTagMessageFlags) |
Todas as tabelas de conteúdo da pasta |
|
PR_MESSAGE_SIZE (PidTagMessageSize) |
Todas as tabelas de conteúdo da pasta |
|
PR_MSG_STATUS (PidTagMessageStatus) |
Todas as tabelas de conteúdo da pasta |
|
PR_OBJECT_TYPE (PidTagObjectType) |
Todos os índices |
|
PR_PARENT_ENTRYID (PidTagParentEntryId) |
Tabelas de pastas do repositório de mensagens |
|
PR_RECORD_KEY (PidTagRecordKey) |
Tabelas de pasta de contêiner de catálogo de endereços e repositório de mensagens |
|
PR_SENT_REPRESENTING_NAME (PidTagSentRepresentingName) |
Tabelas de pastas de transporte remoto |
|
PR_STORE_ENTRYID (PidTagStoreEntryId) |
Tabelas de pastas do repositório de mensagens |
|
PR_STORE_RECORD_KEY (PidTagStoreRecordKey) |
Tabelas de pastas do repositório de mensagens |
O identificador de entrada disponível com cada linha pode ser um identificador de entrada de curto ou longo prazo, dependendo da implementação da tabela. Os identificadores de entrada de curto prazo geralmente são usados em situações em que o desempenho é um problema. Qualquer tipo de identificador de entrada pode ser usado para acessar o objeto correspondente.
As tabelas de conteúdo também têm um conjunto de colunas que são opcionais, mas comumente incluídas pelos provedores de serviços em suas implementações. Essas colunas opcionais são:
| Coluna opcional | Tabela de tipo de conteúdo |
|---|---|
|
PR_CLIENT_SUBMIT_TIME (PidTagClientSubmitTime) |
Tabelas de pastas do repositório de mensagens |
|
PR_CONTENT_COUNT (PidTagContentCount) |
Tabelas de conteúdo de pasta Standard |
|
PR_CONTENT_UNREAD (PidTagContentUnreadCount) |
Tabelas de conteúdo de pasta Standard |
|
PR_CONVERSATION_INDEX (PidTagConversationIndex) |
Tabelas de pastas do repositório de mensagens |
|
PR_EMAIL_ADDRESS (PidTagEmailAddress) |
Tabelas de contêiner do catálogo de endereços |
|
PR_IMPORTANCE (PidTagImportance) |
Todas as tabelas de conteúdo da pasta |
|
PR_MESSAGE_DELIVERY_TIME (PidTagMessageDeliveryTime) |
Todas as tabelas de conteúdo da pasta |
|
PR_NORMALIZED_SUBJECT (PidTagNormalizedSubject) |
Todas as tabelas de conteúdo da pasta |
|
PR_PRIORITY (PidTagPriority) |
Todas as tabelas de conteúdo da pasta |
|
PR_SEARCH_KEY (PidTagSearchKey) |
Tabelas de contêiner do catálogo de endereços |
|
PR_SEND_RICH_INFO (PidTagSendRichInfo) |
Tabelas de contêiner do catálogo de endereços |
|
PR_SENDER_NAME (PidTagSenderName) |
Todas as tabelas de conteúdo da pasta |
|
PR_SENSITIVITY (PidTagSensitivity) |
Todas as tabelas de conteúdo da pasta |
|
PR_SUBJECT (PidTagSubject) |
Todas as tabelas de conteúdo da pasta |
|
PR_TRANSMITABLE_DISPLAY_NAME (PidTagTransmittableDisplayName) |
Tabelas de contêiner do catálogo de endereços |
Os provedores do repositório de mensagens também devem incluir PR_PARENT_DISPLAY (PidTagParentDisplay) somente para pastas de resultados de pesquisa, conteúdo, tabelas.
As propriedades nomeadas podem ser adicionadas ao conjunto de colunas de uma tabela de conteúdo da pasta somente se todas as mensagens na pasta tiverem a mesma assinatura de mapeamento, ou seja, o mesmo mapeamento de nomes de propriedade para identificadores de propriedade. As tabelas de conteúdo da pasta devem dar suporte à adição de propriedades específicas da classe de mensagem ao conjunto de colunas, se derem suporte à criação de mensagens arbitrárias na pasta.
Os clientes podem salvar a ordem de classificação padrão para uma tabela de conteúdo da pasta chamando seu método IMAPIFolder::SaveContentsSort . Se o sinalizador de RECURSIVE_SORT for especificado na chamada, a ordem de classificação poderá ser feita para ser aplicada a todas as subpastas dentro da pasta.