Compartilhar via


IMAPIForm::DoVerb

Aplica-se a: Outlook 2013 | Outlook 2016

Solicita que o formulário execute todas as tarefas associadas a um verbo específico.

HRESULT DoVerb(
  LONG iVerb,
  LPMAPIVIEWCONTEXT lpViewContext,
  ULONG_PTR hwndParent,
  LPCRECT lprcPosRect
);

Parâmetros

Iverb

[in] O número associado a um dos verbos do formulário.

lpViewContext

[in] Um ponteiro para um objeto de contexto de exibição. O parâmetro lpViewContext pode ser nulo.

Hwndparent

[in] Um identificador para a janela pai de qualquer caixa de diálogo ou janelas que este método exibe. O parâmetro hwndParent deve ser nulo se a caixa de diálogo ou janela não for modal.

lprcPosRect

[in] Um ponteiro para uma estrutura de RECT do Win32 que contém o tamanho e a posição da janela do formulário.

Valor de retorno

S_OK

O verbo foi invocado com êxito.

OLEOBJ_S_CANNOT_DOVERB_NOW

O verbo representado pelo parâmetro iVerb é válido, mas o formulário não pode executar as operações atualmente associadas a ele.

Comentários

Os visualizadores de formulário chamam o método IMAPIForm::D oVerb para solicitar que o formulário execute as tarefas que ele associa a cada verbo compatível com o formulário.

Cada um dos verbos com suporte é identificado por um valor numérico, passado para DoVerb no parâmetro iVerb . Implementações típicas do DoVerb contêm uma instrução de comutador que testa os valores válidos para o parâmetro iVerb para o formulário.

Observações para implementadores

Se o visualizador de formulário especificar um contexto de exibição no parâmetro lpViewContext , use-o na implementação do DoVerb em vez do contexto de exibição passado em uma chamada anterior para o método IMAPIForm::SetViewContext . Faça as alterações necessárias às estruturas de dados internas e não salve o contexto de exibição.

Execute as seguintes tarefas na implementação do DoVerb :

  • Execute qualquer código necessário para o verbo específico associado ao parâmetro iVerb .

  • Se necessário, restaure o contexto de exibição original.

  • Se um número de verbo desconhecido foi passado, retorne MAPI_E_NO_SUPPORT. Caso contrário, retorne um resultado com base no sucesso ou falha de qualquer verbo executado.

  • Feche o formulário. É sempre sua responsabilidade fechar o formulário após a conclusão de uma chamada do DoVerb .

Alguns verbos, como Print, devem ser modais em relação à chamada DoVerb – ou seja, a operação indicada deve ser concluída antes que a chamada DoVerb retorne.

Para obter a estrutura RECT usada pela janela de um formulário, chame a função GetWindowRect .

Não salve o identificador no parâmetro hwndParent porque, embora ele geralmente permaneça válido até a conclusão do DoVerb, ele pode ser destruído imediatamente após o retorno da chamada.

Notas para chamadores

Você pode fazer com que verbos não modais atuem como verbos modais apontando lpViewContext para uma implementação de contexto de exibição que retorna o sinalizador VCSTATUS_MODAL de seu método IMAPIViewContext::GetViewStatus .

Para obter mais informações sobre verbos no MAPI, consulte Verbos de Formulário. Para obter mais informações sobre como os verbos são tratados no OLE, consulte OLE e Transferência de Dados.

Referência do MFCMAPI

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

Arquivo Função Comentário
MyMAPIFormViewer.cpp
CMyMAPIFormViewer::CallDoVerb
O MFCMAPI usa o método IMAPIForm::D oVerb para invocar um verbo em um formulário.

Confira também

IMAPIForm::SetViewContext

IMAPIViewContext::GetViewStatus

IMAPIForm : IUnknown

MFCMAPI como exemplo de código

Verbos de Formulário