Compartilhar via


IMAPIProgress::Progress

Aplica-se a: Outlook 2013 | Outlook 2016

Atualizações o indicador de progresso com uma exibição do progresso conforme ele é feito para a conclusão da operação.

HRESULT Progress(
  ULONG ulValue,
  ULONG ulCount,
  ULONG ulTotal
);

Parâmetros

ulValue

[in] Um número que indica o nível atual de progresso (calculado a partir dos parâmetros ulCount e ulTotal ou dos parâmetros lpulMin e lpulMax do método IMAPIProgress::SetLimits ) entre o limite inferior global e o limite superior global.

ulCount

[in] Um número que indica o item processado atualmente em relação ao total.

ulTotal

[in] O número total de itens a serem processados durante a operação.

Valor de retorno

S_OK

O indicador de progresso foi atualizado com êxito.

Observações para implementadores

O parâmetro ulValue será igual ao valor mínimo global somente no início da operação e ao valor máximo global somente na conclusão da operação.

Use os parâmetros ulCount e ulTotal , se disponíveis, para exibir uma mensagem opcional, como "5 itens concluídos em 10". Se ulCount e ulTotal estiverem definidos como 0, decida se devem alterar visualmente o indicador de progresso. Alguns provedores de serviço definem esses parâmetros como 0 para indicar que estão processando um subobjeto cujo progresso é monitorado em relação a um objeto pai. Nessa situação, faz sentido alterar a exibição somente quando o objeto pai relata o progresso. Alguns provedores de serviços passam 0 para esses parâmetros sempre.

Para obter mais informações sobre como implementar o Progresso e os outros métodos IMAPIProgress , consulte Implementando um Indicador de Progresso.

Notas para chamadores

Nem todos os três parâmetros para IMAPIProgress::P rogress são necessários . O único parâmetro necessário é ulValue, um número que indica o percentual de progresso. Se o sinalizador MAPI_TOP_LEVEL estiver definido, você também poderá passar uma contagem de objetos e um total de objetos. Algumas implementações usam esses valores para exibir uma frase como "5 itens concluídos em 10" com o indicador de progresso.

Se você estiver copiando todas as mensagens em uma única pasta, defina ulTotal como o número total de mensagens que estão sendo copiadas. Se você estiver copiando uma pasta, defina ulTotal como o número de subpastas na pasta. Se a pasta a ser copiada não contiver subpastas e somente mensagens, defina ulTotal como 1.

Para saber mais sobre como e quando fazer chamadas para um objeto de progresso, confira o tópico Exibir um indicador de progresso.

Referência do MFCMAPI

Para ver códigos de exemplo do MFCMAPI, confira a tabela a seguir.

Arquivo Função Comentário
MAPIProgress.cpp
CMAPIProgress::P rogress
O MFCMAPI usa o método IMAPIProgress::P rogress para atualizar a barra de status MFCMAPI com o percentual atual de progresso, calculado a partir de uValue e os valores máximos e mínimos atuais.

Confira também

IMAPIProgress::SetLimits

IMAPIProgress : IUnknown

MFCMAPI como exemplo de código

Exibir um indicador de progresso

Como implementar um indicador de progresso