Compartir a través de


IMAPIMessageSite::DeleteMessage

Hace referencia a: Outlook 2013 | Outlook 2016

Elimina el mensaje actual.

HRESULT DeleteMessage(
  LPMAPIVIEWCONTEXT pViewContext,
  LPCRECT prcPosRect
);

Parameters

pViewContext

[in] Puntero a un objeto de contexto de vista.

prcPosRect

[in] Puntero a una estructura RECT que contiene el tamaño y la posición de la ventana del formulario actual. El siguiente formulario mostrado también usa este rectángulo de ventana.

Valor devuelto

S_OK

La llamada se ha realizado correctamente y devuelva el valor esperado o los valores.

MAPI_E_NO_SUPPORT

Este sitio de mensajes no admite la operación.

Comentarios

Un objeto form llama al método IMAPIMessageSite::D eleteMessage para eliminar el mensaje que el formulario está mostrando actualmente.

Notas para los llamadores

Después de la devolución de DeleteMessage, los objetos de formulario deben comprobar si hay un mensaje nuevo y, a continuación, descartarse si no existe ninguno. Para determinar si el mensaje en el que actuó DeleteMessage se eliminó o se movió a una carpeta Elementos eliminados , un objeto de formulario puede llamar al método IMAPIMessageSite::GetSiteStatus para determinar si se devolvió la marca de DELETE_IS_MOVE.

Notas a los implementadores

Si la implementación del método DeleteMessage de un visor de formularios se mueve al siguiente mensaje después de eliminar un mensaje, la implementación debe llamar al método IMAPIViewContext::ActivateNext y pasar la marca VCDIR_DELETE antes de realizar la eliminación real. Si la implementación de DeleteMessage de un visor de formularios mueve el mensaje eliminado (por ejemplo, a una carpeta Elementos eliminados ), la implementación debe guardar los cambios en el mensaje si el mensaje se modificó.

Una implementación típica de DeleteMessage realiza las siguientes tareas:

  1. Si la implementación mueve el mensaje, llama al método IPersistMessage::Save , pasando null en el parámetro pMessage y true en el parámetro fSameAsLoad .

  2. Llama al método IMAPIViewContext::ActivateNext , pasando la marca VCDIR_DELETE en el parámetro ulDir .

  3. Si se produce un error en la llamada ActivateNext , se devuelve. Si ActivateNext devuelve S_FALSE, llama al método IPersistMessage::HandsOffMessage .

  4. Elimina o mueve el mensaje.

Para obtener la estructura RECT usada por la ventana de un formulario, llame a la función GetWindowRect de Windows.

Para obtener una lista de interfaces relacionadas con los servidores de formularios, vea Interfaces de formulario MAPI.

Referencia de MFCMAPI

Para obtener un ejemplo de código de MFCMAPI, vea la siguiente tabla.

Archivo Función Comment
MyMAPIFormViewer.cpp
CMyMAPIFormViewer::D eleteMessage
No implementado.

Vea también

IMAPIMessageSite::GetSiteStatus

IMAPIViewContext::ActivateNext

IPersistMessage::HandsOffMessage

IPersistMessage::Save

IMAPIMessageSite : IUnknown

MFCMAPI como un ejemplo de código

Interfaces de formulario MAPI