IMsgStore::StoreLogoff
Aplica-se a: Outlook 2013 | Outlook 2016
Habilita o logoff ordenado do repositório de mensagens.
HRESULT StoreLogoff(
ULONG FAR * lpulFlags
);
Parâmetros
lpulFlags
[in, out] Um bitmask de sinalizadores que controla o logoff do repositório de mensagens. Na entrada, todos os sinalizadores definidos para esse parâmetro são mutuamente exclusivos; um chamador deve especificar apenas um sinalizador por chamada. Os seguintes sinalizadores são válidos na entrada:
LOGOFF_ABORT
Qualquer atividade do provedor de transporte para este repositório de mensagens deve ser interrompida antes do logoff. O controle é retornado ao chamador depois que a atividade é interrompida. Se alguma atividade do provedor de transporte estiver ocorrendo, o logoff não ocorrerá e nenhuma alteração no comportamento do spooler mapi ou provedores de transporte ocorrerá. Se a atividade do provedor de transporte estiver ociosa, o spooler MAPI liberará o repositório.
LOGOFF_NO_WAIT
O repositório de mensagens não deve aguardar mensagens de provedores de transporte antes de fechar. Mensagens de saída prontas para serem enviadas são enviadas. Se esse repositório contiver a caixa de entrada padrão, todas as mensagens em processo serão recebidas e, em seguida, a recepção adicional será desabilitada. Quando toda a atividade é concluída, o spooler MAPI libera o repositório e o controle é imediatamente retornado ao chamador.
LOGOFF_ORDERLY
O repositório de mensagens não deve aguardar informações dos provedores de transporte antes de fechar. As mensagens que estão sendo processadas no momento são concluídas, mas nenhuma nova mensagem é processada. Quando toda a atividade é concluída, o spooler MAPI libera o repositório e o controle é imediatamente retornado ao provedor da loja.
LOGOFF_PURGE
O logoff deve funcionar da mesma forma que se o sinalizador LOGOFF_NO_WAIT estiver definido, mas o método IXPLogon::FlushQueues ou IMAPIStatus::FlushQueues para os provedores de transporte apropriados deve ser chamado. O sinalizador LOGOFF_PURGE retorna o controle ao chamador após a conclusão.
LOGOFF_QUIET
Se alguma atividade do provedor de transporte estiver ocorrendo, o logoff não deverá ocorrer.
Os sinalizadores a seguir são válidos na saída
LOGOFF_INBOUND
No momento, as mensagens de entrada estão chegando.
LOGOFF_OUTBOUND
As mensagens de saída estão em processo de envio.
LOGOFF_OUTBOUND_QUEUE
As mensagens de saída estão pendentes (ou seja, estão na caixa de saída).
Valor de retorno
S_OK
O logoff foi concluído com êxito.
Comentários
O método IMsgStore::StoreLogoff exerce controle sobre a interação do repositório de mensagens e dos provedores de transporte durante o processo de logoff. Chamar o StoreLogoff é válido apenas para repositórios de mensagens que estão sendo usados apenas pelo chamador. Por exemplo, quando dois clientes estão usando o mesmo repositório de mensagens e um deles chama StoreLogoff, o repositório de mensagens é imediatamente liberado e o controle é retornado ao cliente de chamada.
Observações para implementadores
Salve os sinalizadores que são passados para StoreLogoff e passe-os quando você chamar o método IMAPISupport::StoreLogoffTransports . Não chame StoreLogoffTransports até que a contagem de referência do repositório de mensagens caia para zero. Várias chamadas para StoreLogoffTransports simplesmente substituem os sinalizadores salvos.
Se nenhuma chamada tiver sido feita no StoreLogoff antes que a contagem de referência do repositório de mensagens atinja zero, defina o sinalizador LOGOFF_ABORT no parâmetro ulFlags que você passa para StoreLogoffTransports.