Freigeben über


Senden und Empfangen von Formularbenachrichtigungen

Gilt für: Outlook 2013 | Outlook 2016

Formularbenachrichtigungen werden in MAPI verwendet, um die Kommunikation sowohl vom Formular zum Viewer als auch vom Viewer zum Formular zu erleichtern.

Formulare senden Benachrichtigungen an Ihren Viewer, wenn eines der folgenden Ereignisse eintritt:

  • Das Formular ist geschlossen.

  • Eine neue Nachricht wird in das Formular geladen.

  • Ein Speichervorgang wird abgeschlossen.

  • Eine Nachricht wird gesendet.

Jeder dieser Ereignistypen entspricht einer bestimmten Methode in IMAPIViewAdviseSink: IUnknown, einer der Schnittstellen, die ihr Formular-Viewer implementieren muss. Wenn ein Ereignis auftritt, ruft das Formular die entsprechende IMAPIViewAdviseSink-Methode in der Empfehlungssenke Ihres Viewers auf. Wenn beispielsweise eine neue Nachricht eingeht, die ihr Viewer in die Anzeige aufnehmen sollte, ruft das Formular Ihre IMAPIViewAdviseSink::OnNewMessage-Methode auf.

Implementieren Sie Ihre Ansichtssenke auf eine Weise, die für Ihren Betrachter sinnvoll ist; es gibt keine Standardimplementierung. Beispielsweise können Sie in OnNewMessage die Ansicht der Inhaltstabelle des aktuellen Ordners aktualisieren, um die neu eingetroffene Nachricht einzuschließen. In IMAPIViewAdviseSink::OnSubmitted, der Methode, die aufgerufen wird, wenn Sie ein gesendetes Nachrichtenereignis empfangen, können Sie die gesendete Nachricht in einen Ordner Gesendete Elemente kopieren.

Formulare erhalten eine Benachrichtigung von Ihrem Viewer, wenn eine Änderung auftritt, die sich auf das Formular auswirkt, und wenn Sie eine neue Nachricht laden. Um ein Formular zu benachrichtigen, rufen Sie eine der Methoden von IMAPIFormAdviseSink auf: IMAPIFormAdviseSink::OnChange oder IMAPIFormAdviseSink::OnActivateNext. Rufen Sie OnChange auf, um status zu kommunizieren. Wenn das Formular beispielsweise das letzte Element in einem Ordner anzeigt, wenn eine neue Nachricht eingeht, rufen Sie OnChange auf, wobei das flag VCSTATUS_NEXT festgelegt ist, um dem Formular mitzuteilen, dass jetzt ein nächstes Element vorhanden ist.

Rufen Sie OnActivateNext auf, um das Formular auf das Eintreffen einer neuen Nachricht hinzuweisen, die möglicherweise angezeigt werden kann oder nicht. Übergeben Sie die Nachrichtenklasse der Nachricht an OnActivateNext.

Benachrichtigungen von einem Formularobjekt an die Clientanwendung werden von der IMAPIViewAdviseSink-Schnittstelle der Clientanwendung verarbeitet. Weitere Informationen finden Sie unter IMAPIViewAdviseSink : IUnknown.