Freigeben über


IMSProvider::Logon

Gilt für: Outlook 2013 | Outlook 2016

Protokolliert MAPI bei einem instance eines Nachrichtenspeicheranbieters.

HRESULT Logon(
  LPMAPISUP lpMAPISup,
  ULONG_PTR ulUIParam,
  LPSTR lpszProfileName,
  ULONG cbEntryID,
  LPENTRYID lpEntryID,
  ULONG ulFlags,
  LPCIID lpInterface,
  ULONG FAR * lpcbSpoolSecurity,
  LPBYTE FAR * lppbSpoolSecurity,
  LPMAPIERROR FAR * lppMAPIError,
  LPMSLOGON FAR * lppMSLogon,
  LPMDB FAR * lppMDB
);

Parameter

lpMAPISup

[in] Ein Zeiger auf das aktuelle MAPI-Unterstützungsobjekt für den Nachrichtenspeicher.

ulUIParam

[in] Ein Handle für das übergeordnete Fenster aller Dialogfelder oder Fenster, die von dieser Methode angezeigt werden.

lpszProfileName

[in] Ein Zeiger auf eine Zeichenfolge, die den Namen des Profils enthält, das für die Anmeldung des Speicheranbieters verwendet wird. Diese Zeichenfolge kann in Dialogfeldern angezeigt, in eine Protokolldatei geschrieben oder einfach ignoriert werden. Es muss im Unicode-Format vorliegen, wenn das MAPI_UNICODE-Flag im ulFlags-Parameter festgelegt ist.

cbEntryID

[in] Die Größe des Eintragsbezeichners in Bytes, auf die der lpEntryID-Parameter verweist.

lpEntryID

[in] Ein Zeiger auf den Eintragsbezeichner für den Nachrichtenspeicher. Die Übergabe von NULL in lpEntryID gibt an, dass noch kein Nachrichtenspeicher ausgewählt wurde und Dialogfelder angezeigt werden können, in denen der Benutzer einen Nachrichtenspeicher auswählen kann.

ulFlags

[in] Eine Bitmaske von Flags, die steuert, wie die Anmeldung ausgeführt wird. Die folgenden Flags können festgelegt werden:

MAPI_DEFERRED_ERRORS

Der Aufruf kann auch dann erfolgreich ausgeführt werden, wenn das zugrunde liegende Objekt für die aufrufende Implementierung nicht verfügbar ist. Wenn das Objekt nicht verfügbar ist, löst ein nachfolgendes Aufrufen des Objekts möglicherweise einen Fehler aus.

MAPI_UNICODE

Die übergebenen Zeichenfolgen liegen im Unicode-Format vor. Wenn MAPI_UNICODE nicht festgelegt ist, liegen die Zeichenfolgen im ANSI-Format vor.

MDB_NO_DIALOG

Verhindert die Anzeige von Anmeldedialogfeldern. Wenn dieses Flag festgelegt ist, wird der Fehlerwert MAPI_E_LOGON_FAILED zurückgegeben, wenn die Anmeldung nicht erfolgreich ist. Wenn dieses Flag nicht festgelegt ist, kann der Nachrichtenspeicheranbieter den Benutzer auffordern, einen Namen oder ein Kennwort zu korrigieren, einen Datenträger einzufügen oder andere Aktionen auszuführen, die zum Herstellen einer Verbindung mit dem Speicher erforderlich sind.

MDB_NO_MAIL

Der Nachrichtenspeicher sollte nicht zum Senden oder Empfangen von E-Mails verwendet werden. Das Flag signalisiert MAPI, den MAPI-Spooler nicht zu benachrichtigen, dass dieser Nachrichtenspeicher geöffnet wird. Wenn dieses Flag festgelegt ist und der Nachrichtenspeicher eng mit einem Transportanbieter gekoppelt ist, muss der Anbieter die IMAPISupport::SpoolerNotify-Methode nicht aufrufen.

MDB_TEMPORARY

Protokolliert den Speicher, damit Informationen programmgesteuert aus dem Profilabschnitt ohne Verwendung von Dialogfeldern abgerufen werden können. Dieses Flag weist MAPI an, dass der Speicher nicht zur Nachrichtenspeichertabelle hinzugefügt werden soll und dass der Speicher nicht dauerhaft festgelegt werden kann. Wenn dieses Flag festgelegt ist, müssen Nachrichtenspeicheranbieter die IMAPISupport::ModifyProfile-Methode nicht aufrufen.

MDB_WRITE

Fordert Lese-/Schreibberechtigungen an.

lpInterface

[in] Ein Zeiger auf den Schnittstellenbezeichner (Interface Identifier, IID), bei dem sich der Nachrichtenspeicher anmeldet. Die Übergabe von NULL gibt an, dass die MAPI-Schnittstelle für den Nachrichtenspeicher ( IMsgStore) zurückgegeben wird. Der lpInterface-Parameter kann auch auf einen Bezeichner für eine geeignete Schnittstelle für den Nachrichtenspeicher festgelegt werden (z. B. IID_IUnknown oder IID_IMAPIProp).

lpcbSpoolSecurity

[out] Ein Zeiger auf die Variable, in der der Speicheranbieter die Größe der Validierungsdaten im lppbSpoolSecurity-Parameter in Bytes zurückgibt.

lppbSpoolSecurity

[out] Ein Zeiger auf den Zeiger auf die zurückgegebenen Validierungsdaten. Diese Validierungsdaten werden bereitgestellt, damit die IMSProvider::SpoolerLogon-Methode den MAPI-Spooler in demselben Speicher wie der Nachrichtenspeicheranbieter protokollieren kann.

lppMAPIError

[out] Ein Zeiger auf einen Zeiger auf die zurückgegebene MAPIERROR-Struktur , falls vorhanden, die Versions-, Komponenten- und Kontextinformationen für einen Fehler enthält. Der Parameter lppMAPIError kann auf NULL festgelegt werden, wenn keine MAPIERROR-Struktur zurückgegeben werden soll.

lppMSLogon

[out] Ein Zeiger auf den Zeiger auf das Anmeldeobjekt des Nachrichtenspeichers, bei dem MAPI sich anmelden soll.

lppMDB

[out] Ein Zeiger auf den Zeiger auf das Nachrichtenspeicherobjekt für den MAPI-Spooler und die Clientanwendungen, bei der sich die Anmeldung erfolgt.

Rückgabewert

S_OK

Der Aufruf erfolgreich ausgef�hrt und der erwartete Wert oder Werte zur�ckgegeben hat.

MAPI_E_FAILONEPROVIDER

Dieser Anbieter kann sich nicht anmelden, aber dieser Fehler sollte den Dienst nicht deaktivieren.

MAPI_E_LOGON_FAILED

Es konnte keine Anmeldesitzung eingerichtet werden.

MAPI_E_UNCONFIGURED

Das Profil enthält nicht genügend Informationen für die Anmeldung. Wenn dieser Wert zurückgegeben wird, ruft MAPI die Message-Service-Einstiegspunktfunktion des Nachrichtenspeicheranbieters auf.

MAPI_E_USER_CANCEL

Der Benutzer hat den Vorgang in der Regel abgebrochen, indem er in einem Dialogfeld auf die Schaltfläche Abbrechen geklickt hat.

MAPI_E_UNKNOWN_CPID

Der Server ist nicht für die Unterstützung der Codepage des Clients konfiguriert.

MAPI_E_UNKNOWN_LCID

Der Server ist nicht für die Unterstützung der Gebietsschemainformationen des Clients konfiguriert.

MAPI_W_ERRORS_RETURNED

Der Aufruf war erfolgreich, aber der Nachrichtenspeicheranbieter verfügt über Fehlerinformationen. Wenn diese Warnung zurückgegeben wird, sollte der Aufruf als erfolgreich behandelt werden. Verwenden Sie zum Testen auf diese Warnung das Makro HR_FAILED . Weitere Informationen finden Sie unter Verwenden von Makros für die Fehlerbehandlung. Rufen Sie die IMAPISession::GetLastError-Methode auf, um die Fehlerinformationen vom Anbieter abzurufen.

Hinweise

MAPI ruft die IMSProvider::Logon-Methode auf, um den Großteil der Verarbeitung auszuführen, die erforderlich ist, um Zugriff auf einen Nachrichtenspeicher zu erhalten. Nachrichtenspeicheranbieter überprüfen alle Benutzeranmeldeinformationen, die für den Zugriff auf einen bestimmten Speicher erforderlich sind, und geben ein Nachrichtenspeicherobjekt im lppMDB-Parameter zurück, bei dem sich der MAPI-Spooler und die Clientanwendungen anmelden können.

Zusätzlich zum zurückgegebenen Nachrichtenspeicherobjekt für die Client- und MAPI-Spoolerverwendung gibt der Anbieter auch ein Nachrichtenspeicher-Anmeldeobjekt zurück, das MAPI zum Steuern des geöffneten Speichers verwenden kann. Das Anmeldeobjekt des Nachrichtenspeichers und das Nachrichtenspeicherobjekt sollten innerhalb des Nachrichtenspeicheranbieters eng verknüpft sein, damit sich beide auf den anderen auswirken können. Die Verwendung des Speicherobjekts und des Anmeldeobjekts sollte identisch sein. Es sollte eine 1:1-Entsprechung zwischen dem Anmeldeobjekt und dem Speicherobjekt bestehen, sodass die Objekte so agieren, als wären sie ein Objekt, das zwei Schnittstellen verfügbar macht. Die beiden Objekte sollten auch zusammen erstellt und gemeinsam freigegeben werden.

Das MAPI-Unterstützungsobjekt, das von MAPI erstellt und im lpMAPISup-Parameter an den Anbieter übergeben wird, bietet Zugriff auf Funktionen in MAPI, die der Anbieter benötigt. Dazu gehören Funktionen, die Profilinformationen speichern und abrufen, auf Adressbücher zugreifen usw. Der lpMAPISup-Zeiger kann für jeden geöffneten Speicher unterschiedlich sein. Bei der Verarbeitung von Aufrufen für einen Nachrichtenspeicher nach der Anmeldung sollte der Speicheranbieter die für diesen Speicher spezifische Variable lpMAPISup verwenden. Für jeden Anmeldeaufruf , der einen Nachrichtenspeicher öffnet und erfolgreich ein Anmeldeobjekt für den Nachrichtenspeicher erstellt, muss der Anbieter einen Zeiger auf das MAPI-Unterstützungsobjekt im Store-Anmeldeobjekt speichern und die IUnknown::AddRef-Methode aufrufen, um einen Verweis für das Supportobjekt hinzuzufügen.

Der ulUIParam-Parameter sollte verwendet werden, wenn der Anbieter während des Anmeldeaufrufs Dialogfelder zeigt. Dialogfelder sollten jedoch nicht angezeigt werden, wenn ulFlags das MDB_NO_DIALOG-Flag enthält. Wenn eine Benutzeroberfläche aufgerufen werden muss, ulFlags dies aber nicht zulässt, oder wenn eine Benutzeroberfläche aus einem anderen Grund nicht angezeigt werden kann, sollte der Anbieter MAPI_E_LOGON_FAILED zurückgeben. Wenn logon ein Dialogfeld anzeigt und der Benutzer die Anmeldung abbricht, in der Regel durch Klicken auf die Schaltfläche Abbrechen des Dialogfelds, sollte der Anbieter MAPI_E_USER_CANCEL zurückgeben.

Der lpEntryID-Parameter kann entweder NULL sein oder auf einen Unwrapped Store-Eintragsbezeichner verweisen, den dieser Nachrichtenspeicher zuvor erstellt hat. Wenn lpEntryID auf einen Unwrrapped-Eintragsbezeichner verweist, kann dieser Eintragsbezeichner von einer von mehreren Stellen stammen:

  • Dies kann ein Eintragsbezeichner sein, den der Speicheranbieter zuvor umschlossen und als PR_ENTRYID -Eigenschaft (PidTagEntryId) in den Profilabschnitt geschrieben hat.

  • Dies kann ein Eintragsbezeichner sein, den der Anbieter zuvor umschlossen und als PR_STORE_ENTRYID -Eigenschaft (PidTagStoreEntryId) an einen aufrufenden Client zurückgegeben hat.

  • Dabei kann es sich um einen Eintragsbezeichner handeln, den der Anbieter zuvor umschlossen und als PR_ENTRYID Eigenschaft eines Nachrichtenspeicherobjekts an einen aufrufenden Client zurückgegeben hat.

In jedem dieser Fälle ist es möglich, dass der Eintragsbezeichner auf einem anderen Computer als dem derzeit verwendeten computer erstellt wurde.

Wenn lpEntryID nicht NULL ist, sollte sie alle Informationen enthalten, die zum Identifizieren und Suchen des Nachrichtenspeichers erforderlich sind. Diese Informationen können Netzwerkvolumenamen, Telefonnummern, Benutzerkontonamen usw. enthalten. Wenn die Verbindung mit dem Speicher nicht mithilfe der Daten im Eintragsbezeichner hergestellt werden kann, sollte der Speicheranbieter ein Dialogfeld anzeigen, in dem der Benutzer den zu öffnenden Speicher auswählen kann. Möglicherweise ist ein Dialogfeld erforderlich, z. B. wenn ein Server umbenannt wurde, ein Kontoname geändert wurde oder Teile des Netzwerks nicht verfügbar sind.

Wenn lpEntryIDNULL ist, wurde der zu verwendende Nachrichtenspeicher noch nicht ausgewählt. Der Anbieter kann weiterhin auf einen Speicher zugreifen, ohne ein Dialogfeld anzuzeigen, wenn er weitere Methoden zum Angeben des Speichers unterstützt. Beispielsweise kann der Anbieter seine Initialisierungsdatei überprüfen oder nach zusätzlichen Eigenschaften suchen, die bei der Konfiguration im Profilabschnitt des Nachrichtendiensts oder des Nachrichtendiensts platziert wurden.

Wenn ein Anbieter feststellt, dass nicht alle erforderlichen Informationen im Profil enthalten sind, sollte er MAPI_E_UNCONFIGURED zurückgeben. MAPI ruft dann die Einstiegspunktfunktion des Nachrichtendiensts des Anbieters auf, damit der Benutzer einen Speicher auswählen oder sogar einen erstellen und bei Bedarf einen Kontonamen und ein Kennwort eingeben kann. MAPI erstellt automatisch einen neuen Profilabschnitt für einen neuen Speicher. Dieser neue Profilabschnitt kann temporär oder dauerhaft sein, je nachdem, wie er hinzugefügt wurde. Wenn der Speicheranbieter die IMAPISupport::ModifyProfile-Methode aufruft, wird der neue Profilabschnitt dauerhaft, und der Speicher wird der Liste der Nachrichtenspeicher hinzugefügt, die von der IMAPISession::GetMsgStoresTable-Methode zurückgegeben werden.

Der lpInterface-Parameter gibt die IID der Schnittstelle an, die für das neu geöffnete Speicherobjekt erforderlich ist. Die Übergabe von NULL in lpInterface gibt an, dass die MAPI-Nachrichtenspeicherschnittstelle IMsgStore erforderlich ist. Die Übergabe des Nachrichtenspeicherobjekts IID_IMsgStore gibt auch an, dass IMsgStore erforderlich ist. Wenn IID_IUnknown in lpInterface übergeben wird, sollte der Anbieter den Speicher öffnen, indem er die von IUnknown abgeleitete Schnittstelle verwendet, die für den Anbieter am besten geeignet ist (dies ist in der Regel IMsgStore). Wenn IID_IUnknown übergeben wird, verwendet die aufrufende Implementierung die IUnknown::QueryInterface-Methode , um eine Schnittstelle auszuwählen, nachdem der Vorgang zum Öffnen des Speichers erfolgreich war.

Der IMSProvider::Logon-Aufruf sollte genügend Informationen zurückgeben, z. B. einen Pfad zum Speicher und Anmeldeinformationen für den Zugriff auf den Speicher, damit sich der MAPI-Spooler bei demselben Speicher anmelden kann, den der Speicheranbieter ausführt, ohne ein Dialogfeld anzuzeigen. Die Parameter lpcbSpoolSecurity und lppbSpoolSecurity werden verwendet, um diese Informationen zurückzugeben. Der Anbieter ordnet den Speicher für diese Daten zu, indem er einen Zeiger an einen Puffer im lpfAllocateBuffer-Parameter der MSProviderInit-Funktion übergibt. Der Anbieter platziert die Größe dieses Puffers in lpcbSpoolSecurity.

MAPI gibt diesen Puffer bei Bedarf frei. Wenn die Anmeldung des MAPI-Spoolers beim Speicher allein über die Informationen im Profilabschnitt erreicht werden kann, kann der Anbieter null in lppbSpoolSecurity und 0 für die Größe der Informationen in lpcbSpoolSecurity zurückgeben. Die MAPI-Spooleranmeldung erfolgt im Rahmen eines anderen Prozesses als die Store-Anmeldung. Da der Puffer, der die übergebenen Informationen enthält, zwischen Prozessen kopiert wird, befindet er sich möglicherweise nicht im Arbeitsspeicher am gleichen Speicherort für den MAPI-Spoolerprozess wie für den Speicheranbieterprozess. Daher sollte ein Anbieter keine Adressen in diesen Puffer einfügen. Weitere Informationen zur MAPI-Spooleranmeldung finden Sie unter der IMSProvider::SpoolerLogon-Methode .

Die meisten Speicheranbieter verwenden die IMAPISession::OpenProfileSection-Methode des Unterstützungsobjekts, das im lpMAPISup-Parameter übergeben wird, um Benutzeranmeldeinformationen und -optionen zu speichern und abzurufen. OpenProfileSection ermöglicht es einem Speicheranbieter, zusätzliche beliebige Informationen in einem Profilabschnitt zu speichern und sie einer bestimmten Ressource zuzuordnen. Beispielsweise kann ein Speicheranbieter den Benutzerkontonamen und das Kennwort, die einer Ressource zugeordnet sind, sowie alle Pfade oder anderen Informationen speichern, die für den Zugriff auf diese Ressource erforderlich sind.

Eigenschaften mit Eigenschaftenbezeichnern, die über 0x67FF 0x6600, sind sichere Eigenschaften, die dem Anbieter zur eigenen Verwendung zum Speichern privater Daten in Profilabschnitten zur Verfügung stehen. Weitere Informationen zur Verwendung von Eigenschaften in Profilabschnittsobjekten finden Sie unter der IProfSect : IMAPIProp-Methode .

Zusätzlich zu allen privaten Daten in Eigenschaften mit Bezeichnern, die über 0x67FF 0x6600, sollte der Speicheranbieter Informationen für die eigenschaft PR_DISPLAY_NAME (PidTagDisplayName) in seinem Profilabschnitt bereitstellen. Sie sollte PR_DISPLAY_NAME den Anzeigenamen des Anbieters selbst einfügen – eine identifizierende Zeichenfolge (z. B. "Microsoft Personal Information Store"), die Benutzern angezeigt wird, damit sie diesen Nachrichtenspeicher von anderen Benutzern unterscheiden können, auf die sie möglicherweise Zugriff haben. PR_DISPLAY_NAME enthält in der Regel einen Servernamen, einen Benutzerkontonamen oder einen Pfad.

Einige Profilabschnittseigenschaften sind in der Nachrichtenspeichertabelle sichtbar. andere sind während der Einrichtung, Installation und Konfiguration des MAPI-Subsystems sichtbar. Der Anbieter stellt in der Regel Informationen für diese sichtbaren Eigenschaften bereit, sowohl für einen neuen Profilabschnitt, der noch keine gespeicherten Anmeldeinformationen oder private Informationen enthält, als auch für den Fall, dass er feststellt, dass eigenschafteninformationen geändert wurden. Weitere Informationen zu Profilabschnitten finden Sie unter IMAPISupport::OpenProfileSection.

Nach erfolgreicher Anmeldung bei einem Benutzer und vor der Rückkehr zur MAPI sollte der Speicheranbieter das Eigenschaftenarray für die status Zeile für die Ressource erstellen und die IMAPISupport::ModifyStatusRow-Methode aufrufen.

Anmeldeaufrufe , die Nachrichtenspeicher öffnen, die bereits für die aktuelle MAPI-Sitzung geöffnet sind, überspringen einen Großteil der zuvor beschriebenen Verarbeitung. Diese Aufrufe erstellen keine status Zeilen, geben Nachrichtenspeicher-Anmeldeobjekte zurück, rufen AddRef für das MAPI-Unterstützungsobjekt auf oder geben Daten für die MAPI-Spooleranmeldung zurück. Diese Aufrufe geben S_OK zurück und geben ein Nachrichtenspeicherobjekt mit der angeforderten Schnittstelle zurück.

Um solche Aufrufe zu erkennen, sollte der Anbieter eine Liste im Nachrichtenspeicheranbieterobjekt der Speicher verwalten, die bereits für dieses Anbieterobjekt geöffnet sind. Beim Verarbeiten eines Anmeldeaufrufs sollte der Anbieter diese Liste der geöffneten Stores überprüfen und ermitteln, ob der Speicher, bei dem angemeldet werden soll, bereits geöffnet ist. Wenn dies der Grund ist, müssen die Benutzeranmeldeinformationen nicht überprüft werden, und die Anzeige eines Dialogfelds sollte nach Möglichkeit vermieden werden. Wenn Dialogfelder angezeigt werden müssen, sollte der Anbieter die zurückgegebenen Informationen überprüfen, um festzustellen, ob ein Speicher ein zweites Mal geöffnet wurde. Darüber hinaus sollte der Anbieter mit lpEntryID zu Beginn der Anmeldeaufrufverarbeitung nach doppelten Öffnungen suchen.

Die Standardverarbeitung für einen Anmeldeaufruf , der auf einen geöffneten Speicher zugreift, sieht wie folgt aus:

  1. Der Speicheranbieter ruft AddRef für das vorhandene Speicherobjekt auf, wenn die angeforderte neue Schnittstelle mit der Schnittstelle für den vorhandenen Speicher identisch ist. Andernfalls wird QueryInterface aufgerufen, um die neue Schnittstelle abzurufen. Wenn der Speicher die neue Schnittstelle nicht unterstützt, sollte der Anbieter den Fehlerwert MAPI_E_INTERFACE_NOT_SUPPORTED zurückgeben.

  2. Der Anbieter gibt einen Zeiger auf die erforderliche Schnittstelle des vorhandenen Speicherobjekts in lppMDB zurück.

  3. Der Anbieter gibt null in lppMSLogon zurück.

  4. Der Anbieter sollte das Profil für das im Aufruf übergebene Supportobjekt nicht öffnen. Darüber hinaus sollte kein eindeutiger Anbieterbezeichner registriert, keine status Zeile registriert oder MAPI-Spooler-Anmeldedaten zurückgegeben werden.

  5. Der Anbieter sollte AddRef nicht für das Supportobjekt aufrufen, da er keinen Zeiger auf das -Objekt erfordert.

Anbieter sollten nach Möglichkeit geeignete Fehler- und Warnungszeichenfolgen für Anmeldeaufrufe zurückgeben, da dies die Belastung der Benutzer bei der Feststellung, warum etwas nicht funktioniert hat, erheblich erleichtert wird. Um diese Zeichenfolgen zurückzugeben, legt ein Anbieter die Member in der MAPIERROR-Struktur fest. MAPI sucht, verwendet und gibt die MAPIERROR-Struktur frei, wenn sie von einem Anbieter zurückgegeben wird.

Arbeitsspeicher für diese MAPIERROR-Struktur sollte mithilfe des Puffers zugeordnet werden, der in lpfAllocateBuffer beim MSProviderInit-Aufruf übergeben wird. Alle Fehlerzeichenfolgen, die in der zurückgegebenen Struktur enthalten sind, sollten im Unicode-Format vorliegen, wenn MAPI_UNICODE in den Anmelde-UlFlags festgelegt ist; andernfalls sollten sie im ANSI-Zeichensatz enthalten sein.

Für die meisten Fehlerwerte, die von der Anmeldung zurückgegeben werden, deaktiviert MAPI die Nachrichtendienste, zu denen der fehlerhafte Anbieter gehört. DIE MAPI ruft für die Lebensdauer der MAPI-Sitzung keine Anbieter auf, die zu diesen Diensten gehören. Wenn logon hingegen den MAPI_E_FAILONEPROVIDER Fehlerwert aus der Anmeldung zurückgibt, deaktiviert MAPI nicht den Nachrichtendienst, zu dem der Anbieter gehört. Die Anmeldung sollte MAPI_E_FAILONEPROVIDER zurückgeben, wenn ein Fehler auftritt, der nicht die Deaktivierung des gesamten Diensts für die Gesamte Lebensdauer der Sitzung erfordert. Beispielsweise kann ein Anbieter diesen Fehler zurückgeben, wenn er die Anzeige einer Benutzeroberfläche nicht zulässt und ein erforderliches Kennwort nicht verfügbar ist.

Wenn ein Anbieter MAPI_E_UNCONFIGURED von seiner Anmeldung zurückgibt, ruft MAPI die Eintragsfunktion des Nachrichtendiensts des Anbieters auf und wiederholt dann die Anmeldung. MAPI übergibt MSG_SERVICE_CONFIGURE als Kontext, um dem Dienst die Möglichkeit zu geben, sich selbst zu konfigurieren. Wenn der Client eine Benutzeroberfläche für die Anmeldung zugelassen hat, kann der Dienst sein Konfigurationseigenschaftenblatt anzeigen, damit der Benutzer Konfigurationsinformationen eingeben kann.

Siehe auch

IMAPISession::GetMsgStoresTable

IMAPISession::OpenMsgStore

IMAPISession::OpenProfileSection

IMAPISupport::ModifyProfile

IMAPISupport::ModifyStatusRow

IMsgStore: IMAPIProp

IMSProvider::SpoolerLogon

IProfSect : IMAPIProp

MAPIERROR

MSProviderInit

IMSProvider : IUnknown