Compartilhar via


IMAPIStatus::FlushQueues

Aplica-se a: Outlook 2013 | Outlook 2016

Força todas as mensagens à espera de serem enviadas ou recebidas a serem carregadas ou baixadas imediatamente. O spooler MAPI status objeto e status objetos que os provedores de transporte implementam dão suporte a esse método.

HRESULT FlushQueues(
  ULONG_PTR ulUIParam,
  ULONG cbTargetTransport,
  LPENTRYID lpTargetTransport,
  ULONG ulFlags
);

Parâmetros

ulUIParam

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

cbTargetTransport

[in] A contagem de bytes no identificador de entrada apontada pelo parâmetro lpTargetTransport . O parâmetro cbTargetTransport é definido apenas em chamadas para o objeto status do spooler MAPI. Para chamadas para um provedor de transporte, o parâmetro cbTargetTransport é definido como 0.

lpTargetTransport

[in] Um ponteiro para o identificador de entrada do provedor de transporte que é para liberar suas filas de mensagens. O parâmetro lpTargetTransport é definido apenas em chamadas para o objeto status do carreador MAPI. Para chamadas para um provedor de transporte, o parâmetro lpTargetTransport é definido como NULL.

ulFlags

[in] Um bitmask de sinalizadores que controla a operação de descarga. Os seguintes sinalizadores podem ser definidos:

FLUSH_ASYNC_OK

A operação de liberação pode ocorrer de forma assíncrona. Esse sinalizador se aplica apenas ao objeto status do carreteiro MAPI.

FLUSH_DOWNLOAD

As filas de mensagens de entrada devem ser liberadas.

FLUSH_FORCE

A operação de liberação deve ocorrer independentemente, apesar da chance de uma redução no desempenho. Esse sinalizador deve ser definido quando um provedor de transporte assíncrono é direcionado.

FLUSH_NO_UI

O objeto status não deve exibir um indicador de progresso.

FLUSH_UPLOAD

As filas de mensagens de saída devem ser liberadas.

Valor de retorno

S_OK

A operação de liberação foi bem-sucedida.

MAPI_E_BUSY

Outra operação está em andamento; ela deve ser autorizada a ser concluída ou deve ser interrompida antes que essa operação possa ser iniciada.

MAPI_E_NO_SUPPORT

O objeto status não dá suporte a essa operação, conforme indicado pela ausência do sinalizador de STATUS_FLUSH_QUEUES na propriedade PR_RESOURCE_METHODS (PidTagResourceMethods) do objeto status.

Comentários

O método IMAPIStatus::FlushQueues solicita que o spooler MAPI ou um provedor de transporte envie imediatamente todas as mensagens na fila de saída ou receba todas as mensagens da fila de entrada. O FlushQueues é implementado apenas pelo objeto status do carreador MAPI e por objetos status que os provedores de transporte fornecem.

MAPI_E_BUSY deve ser retornado para solicitações assíncronas para que os clientes possam continuar trabalhando.

Por padrão, o FlushQueues é uma operação síncrona; o controle não retorna ao chamador até que a liberação seja concluída. Somente a operação de liberação executada pelo spooler MAPI pode ser assíncrona; os clientes solicitam esse comportamento definindo o sinalizador de FLUSH_ASYNC_OK.

Observações para implementadores

A implementação de um provedor de transporte remoto do FlushQueues define bits na propriedade PR_STATUS_CODE (PidTagStatusCode) na linha status do objeto logon para controlar como as filas são liberadas. Se um visualizador remoto passar no sinalizador FLUSH_UPLOAD, o método FlushQueues deverá definir os bits STATUS_INBOUND_ENABLED e STATUS_INBOUND_ACTIVE. Se um visualizador remoto passar no sinalizador FLUSH_DOWNLOAD, o método FlushQueues deverá definir os bits STATUS_OUTBOUND_ENABLED e STATUS_OUTBOUND_ACTIVE. Em seguida, FlushQueues deve retornar S_OK. O spooler MAPI iniciará as ações apropriadas para carregar e baixar mensagens.

Notas para chamadores

Uma chamada para o objeto status do carreador MAPI é uma diretiva para transferir todas as mensagens de ou para o provedor de transporte apropriado. Quando você chama o objeto status de um provedor de transporte individual, apenas as mensagens para esse provedor são afetadas.

Confira também

Propriedade Canônica PidTagResourceMethods

Propriedade Canônica PidTagStatusCode

IMAPIStatus : IMAPIProp