Compartilhar via


IMAPISupport::StoreLogoffTransports

Aplica-se a: Outlook 2013 | Outlook 2016

Solicita a liberação ordenada de um repositório de mensagens.

HRESULT StoreLogoffTransports(
ULONG FAR * lpulFlags
);

Parâmetros

lpulFlags

[in, out] Um bitmask de sinalizadores que controla como o logoff do repositório de mensagens ocorre. Na entrada, todos os sinalizadores para esse parâmetro são mutuamente exclusivos; apenas um dos seguintes sinalizadores pode ser definido por chamada:

LOGOFF_ABORT

Qualquer atividade do provedor de transporte para este repositório deve ser interrompida antes do logoff. O controle é retornado ao cliente depois que a atividade é interrompida e o spooler MAPI foi registrado fora do repositório. Se alguma atividade de transporte estiver ocorrendo, o logoff não ocorrerá e nenhuma alteração no comportamento do provedor de transporte ou do provedor de transporte mapi ocorrerá. Se não houver nenhuma atividade no momento, o spooler MAPI liberará o repositório.

LOGOFF_NO_WAIT

O spooler MAPI deve liberar o repositório e retornar o controle ao cliente imediatamente depois que todos os emails de saída prontos para serem enviados forem enviados. Se o repositório de mensagens tiver a caixa de entrada padrão, qualquer mensagem em processo será recebida e, em seguida, a recepção adicional será desabilitada.

LOGOFF_ORDERLY

O spooler MAPI deve liberar o repositório e retornar o controle ao cliente imediatamente após o término do processamento de mensagens pendentes. Nenhuma nova mensagem deve ser processada.

LOGOFF_PURGE

Funciona da mesma forma que o sinalizador de LOGOFF_NO_WAIT. O sinalizador LOGOFF_PURGE retorna o controle ao chamador após a conclusão.

LOGOFF_QUIET

O logoff não deve ocorrer se alguma atividade do provedor de transporte estiver ocorrendo. O tipo de atividade que ocorre é retornado como um sinalizador na saída.

Na saída, o spooler MAPI pode retornar um ou mais dos seguintes sinalizadores:

LOGOFF_COMPLETE

O logoff pode ser concluído. Todos os recursos associados ao repositório foram liberados e o objeto foi invalidado. O spooler MAPI executou ou executará todas as solicitações. Somente o método IUnknown::Release do repositório de mensagens deve ser chamado neste momento.

LOGOFF_INBOUND

No momento, uma mensagem está entrando na loja de um ou mais provedores de transporte.

LOGOFF_OUTBOUND

No momento, uma mensagem está sendo enviada do repositório por um ou mais provedores de transporte.

LOGOFF_OUTBOUND_QUEUE

Atualmente, há mensagens na fila de saída do repositório.

Valor de retorno

S_OK

O procedimento de logoff foi bem-sucedido.

Comentários

O método IMAPISupport::StoreLogoffTransports é implementado para objetos de suporte do provedor do repositório de mensagens. Os provedores do repositório de mensagens chamam StoreLogoffTransports para dar aos aplicativos cliente algum controle sobre como o MAPI lida com a atividade do provedor de transporte enquanto um repositório de mensagens está fechando.

Se outro processo tiver a loja a ser registrada aberta para o mesmo perfil, a MAPI ignorará uma chamada para StoreLogoffTransports e retornará o sinalizador LOGOFF_COMPLETE no parâmetro lpulFlags .

O comportamento do provedor da loja após o retorno do StoreLogoffTransports deve ser baseado no valor de lpulFlags, que indica o sistema status e transmite instruções do cliente para o comportamento de logoff.

Notas para chamadores

O StoreLogoffTransports normalmente é chamado do método IMsgStore::StoreLogoff de um provedor de loja. No entanto, ele também pode ser chamado do método IUnknown::Release do repositório de mensagens. Implemente o método Release do repositório de mensagens para que você possa marcar se ocorreu ou não uma chamada para StoreLogoffTransports. Se uma chamada não tiver ocorrido, chame StoreLogoffTransports com o conjunto de sinalizadores LOGOFF_ABORT.

O parâmetro lpulFlags é definido como um sinalizador que indica como o cliente exige que o repositório de mensagens seja desligado. Determine a configuração apropriada para ulFlags com base na configuração do parâmetro correspondente na chamada para StoreLogoff. Ou seja, se um cliente chamou seu método StoreLogoff com ulFlags definido como LOGOFF_ORDERLY, você deverá chamar StoreLogoffTransports com ulFlags definido como LOGOFF_ORDERLY.

Para obter mais informações sobre o processo de logoff do repositório de mensagens, consulte Desligar um provedor do Repositório de Mensagens.

Confira também

IMsgStore::StoreLogoff

IXPLogon::FlushQueues

IMAPISupport: IUnknown