Compartilhar via


Visão geral do objeto MAPI e da interface

Aplica-se a: Outlook 2013 | Outlook 2016

Um objeto MAPI é uma classe de objeto C++ ou uma estrutura de dados C herdada de uma ou mais interfaces MAPI ou coleções de funções relacionadas. Essas coleções de funções relacionadas são conhecidas pelos desenvolvedores do C++ como funções virtuais puras. Para uma função virtual pura, o MAPI fornece apenas o protótipo da função, não uma implementação. Espera-se que um aplicativo cliente, um provedor de serviços ou MAPI forneça essa implementação criando uma classe de objeto que herda da interface e esteja em conformidade com as descrições de função da API de Mensagens. Uma interface MAPI só pode ser instanciada por meio de uma classe herdada.

Há muitos objetos MAPI diferentes, cada objeto herdado de uma interface que, em última análise, é herdada da interface IUnknown . IUnknown é a interface base do MODELO DE OBJETO DE COMPONENTE OLE (COM). Ele fornece objetos MAPI com um mecanismo padrão para comunicação e controle. O COM determina como os implementadores de objetos lidam com problemas como gerenciamento de memória, gerenciamento de parâmetros e multithreading. Ao se conformar com esse modelo, um implementador de objeto adere a um contrato conforme especificado pelas interfaces incluídas no objeto.

Muitas interfaces MAPI são herdadas diretamente do IUnknown, enquanto outras são herdadas indiretamente por meio de uma das duas outras interfaces base: IMAPIProp : IUnknown para gerenciamento de propriedades e IMAPIContainer : IMAPIProp para acesso ao catálogo de endereços e pastas. As interfaces base nunca são implementadas como objetos independentes e separados; eles são sempre implementados como parte de outros objetos, objetos que implementam interfaces derivadas.

O MAPI define muitos tipos de objetos, cada um implementado por um ou mais componentes MAPI. Os objetos implementados pelos clientes são usados pelo MAPI, por provedores de serviços e por componentes de formulário personalizados. Objetos implementados por provedores de serviços normalmente são usados pelo MAPI e pelos clientes. Objetos implementados por provedores de biblioteca de formulários e servidores de formulário são usados por outros componentes de formulário e por clientes.

Confira também

IMAPIProp : IUnknown

IMAPIContainer : IMAPIProp

Conceitos de MAPI