Compartilhar via


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.

Confira também

IMAPIStatus::FlushQueues

IMAPISupport::StoreLogoffTransports

IXPLogon::FlushQueues

IMsgStore : IMAPIProp