Compartilhar via


Implementando o logon do Provedor de Serviços

Aplica-se a: Outlook 2013 | Outlook 2016

O MAPI chama um método no objeto provedor para iniciar o processo de logon usando o ponteiro que você retorna da função de ponto de entrada. O método varia conforme o seguinte, dependendo do tipo do provedor de serviços:

Execute as seguintes tarefas em qualquer método de logon que você implementar:

  1. Incremente a contagem de referência no objeto de suporte que é passado como um parâmetro de entrada chamando seu método IUnknown::AddRef .

  2. Chame o método IMAPISupport::OpenProfileSection do objeto de suporte para acessar sua seção de perfil.

  3. Chame o método IMAPIProp::SetProps da seção de perfil para definir as seguintes propriedades:

Observação

Não tente definir as propriedades PR_RESOURCE_FLAGS ou PR_PROVIDER_DLL_NAME da seção de perfil. No momento da logon, essas propriedades são somente leitura.

  1. Verifique se as propriedades necessárias para a configuração estão armazenadas no perfil ou estão disponíveis no usuário. Para obter mais informações sobre como verificar sua configuração, consulte Verificando a configuração do provedor de serviços.

  2. Chame o método IMAPISupport::SetProviderUID do objeto de suporte para registrar um identificador exclusivo ou MAPIUID, se o provedor for um catálogo de endereços ou provedor de armazenamento de mensagens. Os provedores de transporte registram estruturas MAPIUID quando o MAPI chama o método IXPLogon::AddressTypes . Para obter mais informações sobre como registrar um MAPIUID, consulte Registrando identificadores exclusivos do provedor de serviços.

  3. Instancie um objeto logon e retorne com um dos seguintes valores:

  • S_OK indicar um logon bem-sucedido.

  • MAPI_E_UNCONFIGURED indicar que uma ou mais das propriedades de configuração não estavam disponíveis.

  • MAPI_E_USER_CANCEL indicar que o usuário cancelou a caixa de diálogo de configuração, fazendo com que as propriedades de configuração não estejam disponíveis.

  • MAPI_E_FAILONEPROVIDER indicar que seu provedor não pôde ser configurado, mas que o MAPI deve permitir que ele seja usado independentemente. Os métodos de logon devem retornar esse valor para relatar um erro não fatal, como quando o provedor requer uma senha e não pode solicitar o usuário porque a interface do usuário está desabilitada.

A lista anterior de tarefas descreve uma implementação mínima para um método de logon do provedor de serviços. Você pode incluir funcionalidades adicionais, se necessário. Por exemplo, alguns provedores chamam IMAPISupport::ModifiStatusRow para atualizar a tabela status em seu método de logon.

Observação

Para obter o melhor desempenho em tempo de logon, evite chamar IMAPISupport::P repareSubmit ou IMAPISupport::SpoolerNotify. Antes que essas chamadas possam concluir e retornar o controle ao seu método de logon, o spooler MAPI deve ser iniciado.

Confira também