Registrieren für eine Benachrichtigung
Gilt für: Outlook 2013 | Outlook 2016
Ein Client kann sich im Rahmen seines Initialisierungsprozesses für Adressbuch- oder Nachrichtenspeicherbenachrichtigungen registrieren.
MAPI unterstützt Benachrichtigungen im Adressbuch, unabhängig davon, ob einer der Adressbuchanbieter dies unterstützt. Die Unterstützung für Benachrichtigungen zu Nachrichtenspeichern hängt vom jeweiligen Nachrichtenspeicheranbieter ab. Überprüfen Sie die eigenschaft PR_STORE_SUPPORT_MASK (PidTagStoreSupportMask), um festzustellen, ob ein bestimmter Nachrichtenspeicheranbieter Benachrichtigungen unterstützt. Wenn der Nachrichtenspeicher Benachrichtigungen unterstützt, wird das STORE_NOTIFY_OK Bit festgelegt.
Registrieren Sie sich für Benachrichtigungen, indem Sie die Advise-Methode eines Advise-Quellobjekts aufrufen. Viele Objekte implementieren Advise , und Clients können sich mit diesen Objekten auf verschiedene Arten registrieren.
So registrieren Sie sich für eine Benachrichtigung
Erstellen Sie ein MAPI-Empfehlungssenkenobjekt, und erhöhen Sie dessen Verweisanzahl.
Rufen Sie ggf . HrThisThreadAdviseSink auf, um ein Beratungssenkenobjekt zu erstellen, das Ihre ursprüngliche Empfehlungssenke umschließt, und lassen Sie dann die ursprüngliche Empfehlungssenke frei.
Rufen Sie eine der folgenden Advise-Methoden auf, um die Registrierung abzuschließen:
Rufen Sie IMAPISession::Advise auf, um sich für Sitzungsbenachrichtigungen oder für Benachrichtigungen für ein Adressbuch- oder Nachrichtenspeicherobjekt zu registrieren.
Rufen Sie IAddrBook::Advise auf, um sich für Adressbuchbenachrichtigungen oder für Benachrichtigungen in einem Messagingbenutzer, Container oder einer Verteilerliste zu registrieren.
Rufen Sie IABLogon::Advise auf, um sich direkt bei einem Adressbuchanbieter für Benachrichtigungen über einen Messagingbenutzer, Container oder eine Verteilerliste zu registrieren.
Rufen Sie IMsgStore::Advise auf, um sich für Nachrichtenspeicherbenachrichtigungen oder für Benachrichtigungen in einem Ordner oder einer Nachricht zu registrieren.
Rufen Sie IMSLogon::Advise auf, um sich direkt bei einem Nachrichtenspeicheranbieter für Benachrichtigungen zu einem Ordner oder einer Nachricht zu registrieren.
Rufen Sie IMAPITable::Advise auf, um sich für Tabellenbenachrichtigungen zu registrieren.
Speichern Sie die von Advise zurückgegebene Verbindungsnummer zwischen.
Wenn Sie eine umschlossene Empfehlungssenke verwenden, lassen Sie sie los. Sobald die umschlossene Empfehlungssenke registriert ist, benötigen Sie sie nicht mehr.
Wenn Sie IMAPISession::Advise aufrufen, können Sie sich für kritische Fehlerbenachrichtigungen in der gesamten Sitzung oder für verschiedene Benachrichtigungen zu einzelnen Objekten registrieren. Sitzungen senden kritische Fehlerbenachrichtigungen an Clients, die bei freigegebenen Sitzungen angemeldet sind, wenn ein anderer Client, der die freigegebene Sitzung verwendet, die IMAPISession::Logoff-Methode aufruft. Um sich für Sitzungsbenachrichtigungen zu registrieren, übergeben Sie NULL für den Eingabebezeichnerparameter. Um sich für Benachrichtigungen für ein einzelnes Objekt zu registrieren, übergeben Sie den Eintragsbezeichner des Objekts. Die IMAPISession-Methode leitet den Aufruf an den entsprechenden Dienstanbieter weiter, wie durch den MAPIUID-Teil des Eintragsbezeichners bestimmt. Das Aufrufen von IMAPISession::Advise zur Registrierung für Objektbenachrichtigungen ist einfacher als das Aufrufen der Advise-Methode eines Dienstanbieters.
Die Registrierung mit dem Adressbuch ähnelt der Registrierung bei der Sitzung. Um sich für kritische Fehlerbenachrichtigungen aus dem Adressbuch zu registrieren, übergeben Sie NULL für den Eintragsbezeichner. Um sich für Benachrichtigungen für ein bestimmtes Adressbuchobjekt zu registrieren, geben Sie den entsprechenden Eintragsbezeichner und das entsprechende Ereignis oder die relevanten Ereignisse an. Beachten Sie, dass viele Adressbuchanbieter keine Benachrichtigungen für einzelne Objekte unterstützen. Stattdessen unterstützen sie Tabellenbenachrichtigungen für ihre Inhalte und Hierarchietabellen.
Es empfiehlt sich, die Empfehlungssenke, die Sie mit HrAllocAdviseSink implementieren oder mit HrAllocAdviseSink erstellen, sofort nach einer erfolgreichen Rückgabe eines Advise-Aufrufs freizugeben. Dies liegt daran, dass es für Dienstanbieter möglich ist, Ihre Empfehlungssenke nach dem Advise-Anruf freizugeben, aber bevor ein Anruf für die Nichtzuserkennung erfolgt. Sobald Sie der Empfehlungsquelle einen Zeiger auf Ihre Empfehlungssenke gegeben haben und die Referenzanzahl für diese Empfehlungssenke erhöht wurde, ist es ratsam, sie freizugeben, es sei denn, Sie haben eine langfristige Verwendung dafür.
Hinweis
Alle Verbindungsnummern, die gültige Empfehlungsregistrierungen darstellen, werden erst freigegeben, wenn der Unadvise-Aufruf erfolgt.