Compartilhar via


IMAPIContainer::GetContentsTable

Aplica-se a: Outlook 2013 | Outlook 2016

Retorna um ponteiro para a tabela de conteúdo do contêiner.

HRESULT GetContentsTable(
  ULONG ulFlags,
  LPMAPITABLE FAR * lppTable
);

Parâmetros

ulFlags

[in] Um bitmask de sinalizadores que controla como a tabela de conteúdo é retornada. Os seguintes sinalizadores podem ser definidos:

MAPI_ASSOCIATED

A tabela de conteúdo associada do contêiner deve ser retornada em vez da tabela de conteúdo padrão. Esse sinalizador é usado apenas com pastas. As mensagens incluídas na tabela de conteúdo associada foram criadas com o sinalizador MAPI_ASSOCIATED definido na chamada para o método IMAPIFolder::CreateMessage . Os clientes normalmente usam a tabela de conteúdo associada para recuperar formulários, exibições e outras mensagens ocultas.

ACLTABLE_FREEBUSY

Habilita o acesso aos direitos frightsFreeBusySimple e frightsFreeBusyDetailed no PR_MEMBER_RIGHTS.

MAPI_DEFERRED_ERRORS

GetContentsTable pode retornar com êxito, possivelmente antes que a tabela seja disponibilizada para o chamador. Se a tabela não estiver disponível, fazer uma chamada de tabela subsequente poderá gerar um erro.

MAPI_UNICODE

Solicita que as colunas que contêm dados de cadeia de caracteres sejam retornadas no formato Unicode. Se o sinalizador MAPI_UNICODE não estiver definido, as cadeias de caracteres deverão ser retornadas no formato ANSI.

SHOW_SOFT_DELETES

Mostra itens que atualmente são marcados como excluídos suavemente, ou seja, eles estão na fase de tempo de retenção de item excluído.

lppTable

[out] Um ponteiro para um ponteiro para a tabela de conteúdo.

Valor de retorno

S_OK

A tabela de conteúdo foi recuperada com êxito.

MAPI_E_BAD_CHARWIDTH

O sinalizador MAPI_UNICODE foi definido e a implementação não dá suporte ao Unicode ou MAPI_UNICODE não foi definido e a implementação dá suporte apenas ao Unicode.

MAPI_E_NO_SUPPORT

O contêiner não tem conteúdo e não pode fornecer uma tabela de conteúdo.

Comentários

O método IMAPIContainer::GetContentsTable retorna um ponteiro para a tabela de conteúdo de um contêiner. Uma tabela de conteúdo contém informações de resumo sobre objetos no contêiner.

As tabelas de conteúdo têm conjuntos de colunas longos. Para obter uma lista completa das colunas necessárias e opcionais nas tabelas de conteúdo, consulte Tabelas de Conteúdo.

É possível que alguns contêineres não tenham conteúdo. Esses contêineres retornam MAPI_E_NO_SUPPORT de suas implementações do GetContentsTable.

Observações para implementadores

Se você dá suporte a uma tabela de conteúdo para seu contêiner, também deve fazer o seguinte:

A implementação desse método por um provedor de transporte remoto deve retornar um ponteiro para uma interface IMAPITable : IUnknown no parâmetro ppTable passado para o método GetContentsTable . Se o provedor de transporte tiver uma tabela de conteúdo existente, será suficiente retornar um ponteiro para ele. Caso contrário, esse método deve criar um novo objeto IMAPITable : IUnknown , preencher a tabela com cabeçalhos de mensagem (se houver disponível) e retornar um ponteiro para a nova tabela. O método ITableData::HrGetView é útil para gerar um valor retornado e armazenar o ponteiro de tabela no parâmetro ppTable . A tabela de conteúdo deve dar suporte a pelo menos as seguintes colunas de propriedade:

Notas para chamadores

Colunas de tabela de conteúdo binário e cadeia de caracteres podem ser truncadas. Normalmente, os provedores retornam 255 caracteres. Como você não pode saber de antemão se uma tabela inclui colunas truncadas, suponha que uma coluna seja truncada se o comprimento da coluna for de 255 ou 510 bytes. Você sempre pode recuperar o valor completo de uma coluna truncada, se necessário, diretamente do objeto usando seu identificador de entrada para abri-lo e chamando o método IMAPIProp::GetProps .

Dependendo da implementação do provedor, as restrições e as operações de classificação podem ser aplicadas a todas as cadeias de caracteres ou à versão truncada dessa cadeia de caracteres.

Referência do MFCMAPI

Para ver códigos de exemplo do MFCMAPI, confira a tabela a seguir.

Arquivo Função Comentário
ContentsTableDialog.cpp
CContentsTableDlg::CContentsTableDlg
A classe CContentsTableDlg usa GetContentsTable para obter as entradas em uma tabela de conteúdo.

Confira também

IMAPIProp::GetPropList

IMAPIProp::GetProps

IMAPIProp::OpenProperty

IMAPITable : IUnknown

Propriedade Canônica PidTagContainerContents

IMAPIContainer : IMAPIProp

MFCMAPI como exemplo de código