Compartilhar via


IMSProvider::SpoolerLogon

Aplica-se a: Outlook 2013 | Outlook 2016

Registra o spooler MAPI em um repositório de mensagens.

HRESULT SpoolerLogon(
  LPMAPISUP lpMAPISup,
  ULONG_PTR ulUIParam,
  LPSTR lpszProfileName,
  ULONG cbEntryID,
  LPENTRYID lpEntryID,
  ULONG ulFlags,
  LPCIID lpInterface,
  ULONG cbSpoolSecurity,
  LPBYTE lpbSpoolSecurity,
  LPMAPIERROR FAR * lppMAPIError,
  LPMSLOGON FAR * lppMSLogon,
  LPMDB FAR * lppMDB     
);

Parâmetros

lpMAPISup

[in] Um ponteiro para o objeto de suporte MAPI para o repositório de mensagens.

ulUIParam

[in] Um identificador para a janela pai de qualquer caixa de diálogo ou janelas que este método exibe.

Lpszprofilename

[in] Um ponteiro para uma cadeia de caracteres que contém o nome do perfil que está sendo usado para o logon do spooler MAPI. Essa cadeia de caracteres pode ser exibida em caixas de diálogo, gravadas em um arquivo de log ou simplesmente ignoradas. Ele deve estar no formato Unicode se o sinalizador MAPI_UNICODE for definido no parâmetro ulFlags .

cbEntryID

[in] O tamanho, em bytes, do identificador de entrada apontado pelo parâmetro lpEntryID .

Lpentryid

[in] Um ponteiro para o identificador de entrada do repositório de mensagens. Passar NULL no parâmetro lpEntryID indica que um repositório de mensagens ainda não foi selecionado e que as caixas de diálogo que permitem ao usuário selecionar um repositório de mensagens podem ser apresentadas.

ulFlags

[in] Um bitmask de sinalizadores que controla como o logon é executado. Os seguintes sinalizadores podem ser definidos:

MAPI_DEFERRED_ERRORS

A chamada pode ter êxito mesmo que o objeto subjacente não esteja disponível para a implementação de chamada. Se o objeto não estiver disponível, uma chamada subsequente ao objeto poderá gerar um erro.

MAPI_UNICODE

As cadeias de caracteres passadas estão no formato Unicode. Se MAPI_UNICODE não estiver definido, as cadeias de caracteres estarão no formato ANSI.

MDB_NO_DIALOG

Impede a exibição de caixas de diálogo de logon. Se esse sinalizador for definido, o valor de erro MAPI_E_LOGON_FAILED será retornado se o logon não tiver êxito. Se esse sinalizador não estiver definido, o provedor do repositório de mensagens poderá solicitar que o usuário corrija um nome ou senha, insira um disco ou execute outras ações necessárias para estabelecer a conexão com o repositório.

MDB_WRITE

Solicita permissão de leitura/gravação.

lpInterface

[in] Um ponteiro para o IID (identificador de interface) para o repositório de mensagens fazer logon. Passar NULL indica que a interface MAPI do repositório de mensagens (IMsgStore) é retornada. O parâmetro lpInterface também pode ser definido como um identificador para uma interface apropriada para o repositório de mensagens (por exemplo, IID_IUnknown ou IID_IMAPIProp).

cbSpoolSecurity

[in] Um ponteiro para o tamanho, em bytes, de dados de validação no parâmetro lppbSpoolSecurity .

lpbSpoolSecurity

[in] Um ponteiro para um ponteiro para os dados de validação. O método SpoolerLogon usa esses dados para registrar o spooler MAPI no mesmo armazenamento que o provedor do repositório de mensagens conectado anteriormente usando o método IMSProvider::Logon .

lppMAPIError

[out] Um ponteiro para um ponteiro para a estrutura MAPIERROR retornada, se houver, que contém informações de versão, componente e contexto para um erro. O parâmetro lppMAPIError poderá ser definido como NULL se não houver nenhuma estrutura MAPIERROR a ser retornada.

lppMSLogon

[out] Um ponteiro para o ponteiro para o objeto de logon do repositório de mensagens para MAPI fazer logon.

lppMDB

[out] Um ponteiro para o ponteiro para o objeto do repositório de mensagens para que o spooler MAPI e os aplicativos cliente façam logon.

Valor de retorno

S_OK

A chamada foi bem-sucedida e retornou o valor ou valores esperados.

MAPI_E_UNCONFIGURED

O perfil não contém informações suficientes para a conclusão do logon. Quando esse valor é retornado, o MAPI chama a função de ponto de entrada do serviço de mensagem do provedor de mensagens.

MAPI_W_ERRORS_RETURNED

A chamada foi bem-sucedida, mas o provedor do repositório de mensagens tem informações de erro disponíveis. Quando esse aviso é retornado, a chamada deve ser tratada como bem-sucedida. Para testar esse aviso, use a macro HR_FAILED . Para obter mais informações, confira Usando macros para tratamento de erros. Para obter as informações de erro do provedor, chame o método IMAPISession::GetLastError .

Comentários

O spooler MAPI chama o método IMSProvider::SpoolerLogon para fazer logon em um repositório de mensagens. O spooler MAPI deve usar o objeto do repositório de mensagens retornado pelo provedor do repositório de mensagens no parâmetro lppMDB durante e após o logon.

Para obter consistência com o método IMSProvider::Logon , o provedor também retorna um objeto logon do repositório de mensagens no parâmetro lppMSLogon . O uso do objeto store e do objeto logon são idênticos ao logon de loja usual; deve haver uma correspondência um-para-um entre o objeto logon e o objeto store de modo que os objetos atuem como se fossem um objeto que expõe duas interfaces. Os dois objetos são criados juntos e liberados juntos.

O provedor da loja deve marcar internamente o objeto do repositório de mensagens retornado para indicar que o repositório está sendo usado pelo spooler MAPI. Alguns dos métodos para esse objeto de armazenamento se comportam de forma diferente do objeto do repositório de mensagens fornecido aos aplicativos cliente. Manter essa marca interna é a maneira mais comum de disparar o comportamento específico para o spooler MAPI.

Confira também

IMSProvider::Logon

MAPIERROR

IMSProvider : IUnknown