IMAPISupport::StoreLogoffTransports
Gilt für: Outlook 2013 | Outlook 2016
Fordert die geordnete Freigabe eines Nachrichtenspeichers an.
HRESULT StoreLogoffTransports(
ULONG FAR * lpulFlags
);
Parameter
lpulFlags
[in, out] Eine Bitmaske von Flags, die steuert, wie die Abmeldung des Nachrichtenspeichers erfolgt. Bei der Eingabe schließen sich alle Flags für diesen Parameter gegenseitig aus. Pro Aufruf kann nur eines der folgenden Flags festgelegt werden:
LOGOFF_ABORT
Alle Transportanbieteraktivitäten für diesen Speicher sollten vor der Abmeldung beendet werden. Die Steuerung wird an den Client zurückgegeben, nachdem die Aktivität beendet wurde und der MAPI-Spooler den Speicher abgemeldet hat. Wenn eine Transportaktivität stattfindet, erfolgt die Abmeldung nicht, und es tritt keine Änderung im MapI-Spooler- oder Transportanbieterverhalten auf. Wenn derzeit keine Aktivität vorhanden ist, gibt der MAPI-Spooler den Speicher frei.
LOGOFF_NO_WAIT
Der MAPI-Spooler sollte den Speicher freigeben und die Steuerung an den Client zurückgeben, sobald alle ausgehenden E-Mails gesendet wurden, die gesendet werden können. Wenn der Nachrichtenspeicher über den Standardeingang verfügt, wird jede In-Process-Nachricht empfangen, und dann wird der weitere Empfang deaktiviert.
LOGOFF_ORDERLY
Der MAPI-Spooler sollte den Speicher freigeben und die Steuerung an den Client zurückgeben, sobald alle ausstehenden Nachrichten verarbeitet wurden. Es sollten keine neuen Nachrichten verarbeitet werden.
LOGOFF_PURGE
Funktioniert genauso wie das LOGOFF_NO_WAIT-Flag. Das LOGOFF_PURGE-Flag gibt die Steuerung nach Abschluss an den Aufrufer zurück.
LOGOFF_QUIET
Die Abmeldung sollte nicht erfolgen, wenn eine Transportanbieteraktivität stattfindet. Der Typ der ausgeführten Aktivität wird in der Ausgabe als Flag zurückgegeben.
Bei der Ausgabe kann der MAPI-Spooler mindestens eins der folgenden Flags zurückgeben:
LOGOFF_COMPLETE
Die Abmeldung kann abgeschlossen werden. Alle dem Speicher zugeordneten Ressourcen wurden freigegeben, und das Objekt wurde ungültig gemacht. Der MAPI-Spooler hat oder führt alle Anforderungen aus. An diesem Punkt sollte nur die IUnknown::Release-Methode des Nachrichtenspeichers aufgerufen werden.
LOGOFF_INBOUND
Eine Nachricht wird derzeit von einem oder mehreren Transportanbietern in den Store eingecheckt.
LOGOFF_OUTBOUND
Eine Nachricht wird derzeit von einem oder mehreren Transportanbietern aus dem Speicher gesendet.
LOGOFF_OUTBOUND_QUEUE
Derzeit befinden sich Nachrichten in der ausgehenden Warteschlange für den Speicher.
Rückgabewert
S_OK
Die Abmeldung war erfolgreich.
Hinweise
Die IMAPISupport::StoreLogoffTransports-Methode wird für Unterstützungsobjekte des Nachrichtenspeicheranbieters implementiert. Nachrichtenspeicheranbieter rufen StoreLogoffTransports auf, um Clientanwendungen eine gewisse Kontrolle darüber zu geben, wie MAPI Transportanbieteraktivitäten verarbeitet, wenn ein Nachrichtenspeicher geschlossen wird.
Wenn ein anderer Prozess den abzumeldenden Speicher für dasselbe Profil geöffnet hat, ignoriert MAPI einen Aufruf von StoreLogoffTransports und gibt das Flag LOGOFF_COMPLETE im lpulFlags-Parameter zurück.
Das Verhalten des Speicheranbieters, das der Rückgabe von StoreLogoffTransports folgt, sollte auf dem Wert von lpulFlags basieren, der systembasierte status angibt und Clientanweisungen für das Abmeldungsverhalten vermittelt.
Hinweise für Aufrufer
StoreLogoffTransports wird in der Regel von der IMsgStore::StoreLogoff-Methode eines Speicheranbieters aufgerufen. Sie kann jedoch auch über die IUnknown::Release-Methode des Nachrichtenspeichers aufgerufen werden. Implementieren Sie die Release-Methode Ihres Nachrichtenspeichers, damit Sie überprüfen können, ob ein Aufruf von StoreLogoffTransports erfolgt ist. Wenn kein Aufruf erfolgt ist, rufen Sie StoreLogoffTransports mit festgelegtem LOGOFF_ABORT-Flag auf.
Der lpulFlags-Parameter ist auf ein Flag festgelegt, das angibt, wie der Client das Herunterfahren des Nachrichtenspeichers erfordert. Bestimmen Sie die geeignete Einstellung für ulFlags basierend auf der Einstellung des entsprechenden Parameters im Aufruf von StoreLogoff. Das heißt, wenn ein Client Ihre StoreLogoff-Methode aufgerufen hat, wobei ulFlags auf LOGOFF_ORDERLY festgelegt ist, sollten Sie StoreLogoffTransports aufrufen, wobei ulFlags auf LOGOFF_ORDERLY festgelegt ist.
Weitere Informationen zum Abmeldungsprozess des Nachrichtenspeichers finden Sie unter Herunterfahren eines Nachrichtenspeicheranbieters.