Compartilhar via


IMAPIMessageSite::DeleteMessage

Aplica-se a: Outlook 2013 | Outlook 2016

Exclui a mensagem atual.

HRESULT DeleteMessage(
  LPMAPIVIEWCONTEXT pViewContext,
  LPCRECT prcPosRect
);

Parâmetros

pViewContext

[in] Um ponteiro para um objeto de contexto de exibição.

prcPosRect

[in] Um ponteiro para uma estrutura RECT que contém o tamanho e a posição da janela do formulário atual. O próximo formulário exibido também usa esse retângulo de janela.

Valor de retorno

S_OK

A chamada foi bem-sucedida e retornou o valor ou valores esperados.

MAPI_E_NO_SUPPORT

A operação não tem suporte para este site de mensagens.

Comentários

Um objeto de formulário chama o método IMAPIMessageSite::D eleteMessage para excluir a mensagem que o formulário está exibindo no momento.

Notas para chamadores

Após o retorno de DeleteMessage, os objetos de formulário devem marcar para uma nova mensagem e, em seguida, descartar-se se nenhum existe. Para determinar se a mensagem DeleteMessage agiu foi excluída ou movida para uma pasta Itens Excluídos , um objeto de formulário pode chamar o método IMAPIMessageSite::GetSiteStatus para determinar se o sinalizador DELETE_IS_MOVE foi retornado.

Observações para implementadores

Se a implementação de um visualizador de formulários do método DeleteMessage passar para a próxima mensagem depois de excluir uma mensagem, a implementação deverá chamar o método IMAPIViewContext::ActivateNext e passar o sinalizador VCDIR_DELETE antes de executar a exclusão real. Se a implementação de DeleteMessage por um visualizador de formulários mover a mensagem excluída (por exemplo, para uma pasta Itens Excluídos ), a implementação deverá salvar alterações na mensagem se a mensagem for modificada.

Uma implementação típica do DeleteMessage executa as seguintes tarefas:

  1. Se a implementação estiver movendo a mensagem, ela chamará o método IPersistMessage::Save , passando nulo no parâmetro pMessage e true no parâmetro fSameAsLoad .

  2. Ele chama o método IMAPIViewContext::ActivateNext , passando o sinalizador VCDIR_DELETE no parâmetro ulDir .

  3. Se a chamada ActivateNext falhar, ela retornará. Se ActivateNext retornar S_FALSE, ele chamará o método IPersistMessage::HandsOffMessage .

  4. Ele exclui ou move a mensagem.

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

Para obter uma lista de interfaces relacionadas a servidores de formulário, consulte Interfaces de Formulário MAPI.

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::D eleteMessage
Não implementado.

Confira também

IMAPIMessageSite::GetSiteStatus

IMAPIViewContext::ActivateNext

IPersistMessage::HandsOffMessage

IPersistMessage::Save

IMAPIMessageSite : IUnknown

MFCMAPI como exemplo de código

Interfaces de Formulário MAPI