Compartilhar via


Pastas MAPI

Aplica-se a: Outlook 2013 | Outlook 2016

As pastas são objetos MAPI que servem como a unidade básica da organização para mensagens. Organizadas hierarquicamente, as pastas podem conter mensagens e outras pastas. As pastas facilitam a localização e o trabalho com mensagens.

As pastas implementam a interface IMAPIFolder , que herda indiretamente da interface IUnknown por meio das interfaces IMAPIContainer e IMAPIProp . Os clientes usam o IMAPIFolder para criar, copiar e excluir mensagens e pastas, para recuperar e definir status de mensagens e para definir ou limpar o sinalizador de leitura para uma mensagem. Embora os provedores do repositório de mensagens sejam necessários para dar suporte a todos os métodos no IMAPIFolder, alguns métodos introduzem um nível de complexidade que os provedores do repositório de mensagens podem querer evitar. O MAPI salva os provedores de armazenamento de mensagens de algum trabalho implementando algumas das funcionalidades de pasta mais complexas na interface IMAPISupport . Em vez de implementar seus próprios métodos de cópia, por exemplo, os provedores do repositório de mensagens podem chamar os métodos de cópia no objeto de suporte e obter os mesmos resultados.

Há três tipos de pastas:

  • Pastas raiz.

  • Pastas genéricas.

  • Pesquisar pastas.

Cada repositório de mensagens tem pelo menos uma pasta raiz. A pasta raiz aparece na parte superior da hierarquia e contém mensagens e outras pastas. As pastas raiz não podem ser movidas, copiadas, renomeadas ou excluídas. Há apenas uma pasta raiz para cada repositório de mensagens.

A maioria das outras pastas são pastas genéricas. Como pastas raiz, pastas genéricas contêm mensagens e outras pastas. Ao contrário das pastas raiz, elas podem ser movidas, copiadas, renomeados e excluídas. Pastas genéricas podem ser criadas na pasta raiz ou em outras pastas genéricas. Quando um cliente cria uma pasta genérica em outra pasta, a nova pasta é chamada de subpasta ou pasta filho. A pasta na qual a nova pasta é colocada é chamada de pasta pai da nova pasta. Pastas genéricas que têm a mesma pasta pai são chamadas pastas de irmão. As pastas irmão e não irmão podem ou não ter nomes exclusivos, dependendo do provedor do repositório de mensagens. Provedores de armazenamento de mensagens que exigem pastas de irmãos para que nomes exclusivos retornem o valor de erro MAPI_E_COLLISION quando um cliente tenta criar duas pastas com o mesmo nome no mesmo pai.

Uma pasta de pesquisa contém links para mensagens que correspondem a um conjunto de critérios predefinidos. Como as pastas de pesquisa contêm links em vez de mensagens reais, elas são, na verdade, somente leitura. Eles não podem conter outras pastas ou ter mensagens ou pastas movidas ou copiadas para elas. Eles não podem ter novas mensagens criadas nelas; e eles próprios não podem ser movidos, copiados ou renomeado. Quando uma mensagem é excluída de uma pasta de pesquisa, ela é realmente excluída da pasta que contém a mensagem.

O tipo de pasta é armazenado na propriedade PR_FOLDER_TYPE (PidTagFolderType). Cada pasta tem essa propriedade definida como FOLDER_GENERIC, FOLDER_ROOT ou FOLDER_SEARCH, dependendo do tipo.

Cada pasta tem um identificador de entrada e uma chave de registro. O identificador de entrada, PR_ENTRYID (PidTagEntryId), é usado por clientes e provedores de serviços para abrir a pasta. A chave de registro, PR_RECORD_KEY (PidTagRecordKey), é um valor binário usado para comparar a pasta com outras pastas.

Uma pasta tem outras propriedades para identificar pastas relacionadas e o repositório de mensagens. As seguintes propriedades são necessárias:

Algumas pastas dão suporte à propriedade PR_ACCESS (PidTagAccess), que descreve o tipo de operações que um usuário pode executar. Por exemplo, uma das configurações válidas para PR_ACCESS é MAPI_ACCESS_DELETE, o que indica que a pasta pode ser removida. Outra configuração, MAPI_ACCESS_MODIFY, indica que a pasta deve ser modificável.

Para obter uma lista completa das propriedades de pasta necessárias, consulte a interface IMAPIFolder .

Confira também

Desenvolvimento de Aplicativos MAPI