Compartir a través de


Envío y recepción de notificaciones de formulario

Hace referencia a: Outlook 2013 | Outlook 2016

Las notificaciones de formulario se usan en MAPI para facilitar la comunicación tanto desde el formulario al visor como desde el visor al formulario.

Los formularios envían notificaciones al visor cuando se produce uno de los siguientes eventos:

  • El formulario está cerrado.

  • Se carga un nuevo mensaje en el formulario.

  • Se completa una operación de guardado.

  • Se envía un mensaje.

Cada uno de estos tipos de eventos corresponde a un método determinado en IMAPIViewAdviseSink: IUnknown, una de las interfaces que el visor de formularios debe implementar. Cuando se produce un evento, el formulario llama al método IMAPIViewAdviseSink correspondiente en el receptor de aviso del visor. Por ejemplo, cuando llega un nuevo mensaje que el visor debe incluir en su presentación, el formulario llama al método IMAPIViewAdviseSink::OnNewMessage .

Implemente el receptor de aviso de vista de una manera que tenga sentido para el visor; no hay ninguna implementación estándar. Por ejemplo, en OnNewMessage puede actualizar la vista de la tabla de contenido de la carpeta actual para incluir el mensaje recién llegado. En IMAPIViewAdviseSink::OnSubmitted, el método al que se llama cuando recibe un evento de mensaje enviado, puede copiar el mensaje enviado en una carpeta Elementos enviados.

Los formularios reciben una notificación del visor cuando se produce un cambio que afecta al formulario y al cargar un mensaje nuevo. Para notificar a un formulario, llame a uno de los métodos de IMAPIFormAdviseSink: IMAPIFormAdviseSink::OnChange o IMAPIFormAdviseSink::OnActivateNext. Llame a OnChange para comunicar el estado. Por ejemplo, si el formulario muestra el último elemento de una carpeta cuando llega un nuevo mensaje, llame a OnChange con la marca VCSTATUS_NEXT establecida para indicar al formulario que ahora hay un elemento siguiente.

Llame a OnActivateNext para alertar al formulario de la llegada de un nuevo mensaje que puede mostrar o no. Pase la clase de mensaje del mensaje a OnActivateNext.

Las notificaciones de un objeto de formulario a la aplicación cliente se controlan mediante la interfaz IMAPIViewAdviseSink de la aplicación cliente. Para obtener más información, vea IMAPIViewAdviseSink : IUnknown.