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
Os clientes e os fornecedores de serviços utilizam objetos MAPI ao chamar os métodos nas respetivas implementações de interface. Esta é a única forma de utilizar objetos MAPI; Os métodos implementados por um objeto fora de uma interface MAPI não são acessíveis publicamente. Uma vez que todas as interfaces de um objeto estão relacionadas através da herança, o utilizador de um objeto pode chamar métodos na interface base ou numa das interfaces herdadas como se pertencessem à mesma interface.
Quando o utilizador de um objeto quer fazer uma chamada para um método e esse objeto implementa várias interfaces relacionadas através da herança, o utilizador não precisa de saber a que interface pertence o método. O utilizador pode chamar qualquer um dos métodos em qualquer uma das interfaces com um único ponteiro para o objeto. Por exemplo, a ilustração seguinte mostra como uma aplicação cliente utiliza um objeto de pasta. Os objetos de pasta implementam a interface IMAPIFolder: IMAPIContainer , que herda de IUnknown indiretamente através de IMAPIProp: IUnknown e IMAPIContainer: IMAPIProp. Um cliente pode chamar um dos métodos IMAPIProp , como IMAPIProp::GetProps e um dos métodos IMAPIFolder: IMAPIContainer , como IMAPIFolder::CreateMessage, da mesma forma com o mesmo ponteiro de objeto. Um cliente não tem conhecimento ou é afetado pelo facto de estas chamadas pertencerem a diferentes interfaces.
Client use of a folder object
Estas chamadas traduzem-se em código de forma diferente consoante o cliente que faz as chamadas esteja escrito em C ou C++. Antes de ser possível efetuar qualquer chamada para um método, tem de ser obtido um ponteiro para a implementação da interface. Os ponteiros da interface podem ser obtidos das seguintes formas:
Chamar um método num objeto diferente.
Chamar uma função de API.
Chamar o método IUnknown::QueryInterface no objeto de destino.
A MAPI fornece vários métodos e funções de API que devolvem ponteiros para implementações de interface. Por exemplo, os clientes podem chamar o método IMAPISession::GetMsgStoresTable para obter um ponteiro para um objeto de tabela que fornece acesso às informações do fornecedor do arquivo de mensagens através da interface IMAPITable: IUnknown . Os fornecedores de serviços podem chamar a função de API CreateTable para obter um ponteiro para um objeto de dados de tabela. Quando não existe nenhuma função ou método disponível e os clientes ou fornecedores de serviços já tiverem um ponteiro para um objeto, podem chamar o método QueryInterface do objeto para obter um ponteiro para outra das implementações de interface do objeto.