Compartilhar via


IMAPIProgress::GetFlags

Aplica-se a: Outlook 2013 | Outlook 2016

Retorna as configurações do sinalizador do objeto de progresso para o nível de operação no qual as informações de progresso são calculadas.

HRESULT GetFlags(
  ULONG FAR * lpulFlags
);

Parâmetros

lpulFlags

[out] Um bitmask de sinalizadores que controla o nível de operação no qual as informações de progresso são calculadas. O seguinte sinalizador pode ser retornado:

MAPI_TOP_LEVEL

O progresso está sendo calculado para o objeto de nível superior, o objeto chamado pelo cliente para iniciar a operação. Por exemplo, o objeto de nível superior em uma operação de cópia de pasta é a pasta que está sendo copiada. Quando MAPI_TOP_LEVEL não é definido, o progresso é calculado para um objeto de nível inferior ou subobjeto. Na operação de cópia de pasta, um objeto de nível inferior é uma das subpastas na pasta que está sendo copiada.

Valor de retorno

S_OK

O valor dos sinalizadores foi retornado com êxito.

Comentários

O MAPI permite que os provedores de serviços diferenciem entre objetos de nível superior e subobjetos com o sinalizador MAPI_TOP_LEVEL para que todos os objetos envolvidos em uma operação possam usar a mesma implementação IMAPIProgress para mostrar progresso. Isso faz com que a exibição do indicador prossiga sem problemas em uma única direção positiva. Se o sinalizador MAPI_TOP_LEVEL está definido determina como os provedores de serviço definem os outros parâmetros em chamadas subsequentes para o objeto de progresso.

O valor retornado pelo GetFlags é definido inicialmente pelo implementador e, posteriormente, pelo provedor de serviços por meio de uma chamada para o método IMAPIProgress::SetLimits .

Observações para implementadores

Sempre inicialize o sinalizador para MAPI_TOP_LEVEL e, em seguida, conte com provedores de serviços para desmarcá-lo quando apropriado. Os provedores de serviços podem limpar e redefinir o sinalizador chamando o método IMAPIProgress::SetLimits . Para obter mais informações sobre como implementar o GetFlags e os outros métodos IMAPIProgress , consulte Implementando um Indicador de Progresso.

Notas para chamadores

Ao exibir um indicador de progresso, faça sua primeira chamada para IMAPIProgress::GetFlags. O valor retornado deve ser MAPI_TOP_LEVEL, pois todas as implementações inicializam o conteúdo do parâmetro lpulFlags para esse valor. Para obter mais informações sobre a sequência de chamadas para um objeto de progresso, consulte 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::GetFlags
O MFCMAPI usa o método IMAPIProgress::GetFlags para determinar quais sinalizadores estão definidos. Retorna MAPI_TOP_LEVEL a menos que os sinalizadores tenham sido definidos usando o método IMAPIProgress::SetLimits .

Confira também

IMAPIProgress::SetLimits
IMAPIProgress : IUnknownMFCMAPI como exemplo de código
Exibir um indicador de progresso
Como implementar um indicador de progresso