Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

"MAPIInitialize"

Office 2013 and later

Letzte Änderung:Montag, 9. März 2015

Gilt für:Outlook

Inkrementiert die Verweiszählung für MAPI-Subsystems und globale Daten für die MAPI-DLL initialisiert.

Headerdatei

Mapix.h

Durch implementiert:

MAPI

Aufgerufen von:

Clientanwendungen

HRESULT MAPIInitialize(
  LPVOID lpMapiInit
);

lpMapiInit

[in] Zeiger auf eine MAPIINIT_0 -Struktur. Der Parameter lpMapiInit kann auf NULL festgelegt werden.

S_OK

MAPI-Subsystems wurde erfolgreich initialisiert.

Die MAPI-Referenz für das MAPI-Subsystem und die MAPIUninitialize Funktion dekrementiert zählen MAPIInitialize Funktion Schritten für die interne Verweiszählung. Die Anzahl der Anrufe an eine Funktion muss daher die Anzahl der Aufrufe der anderen entsprechen. MAPIInitialize gibt S_OK zurück, wenn MAPI zuvor nicht initialisiert wurde.

Ein Client oder Dienstanbieter muss MAPIInitialize aufrufen, bevor eine beliebige andere MAPI-Aufruf. Dazu wird Client oder Dienst Anbieter Aufrufe den MAPI_E_NOT_INITIALIZED Wert zurückgegeben.

Beim Aufruf von MAPIInitialize aus einer Multithread-Anwendung, legen Sie den Parameter lpMapiInit auf eine MAPIINIT_0 -Struktur, die wie folgt deklariert wird:

MAPIINIT_0 MAPIINIT = {0, MAPI_MULTITHREAD_NOTIFICATIONS}

und rufen Sie:

   MAPIInitialize (& MAPIINIT);

Wenn diese Struktur deklariert wird, erstellt MAPI einen separaten Thread, um das Benachrichtigungsfenster verarbeitet werden, wird fortgesetzt, bis der Initialize-Referenzzähler auf 0 (null) fällt aus. Ein Windows-Dienst muss das ulflags Mitglied der MAPIINIT_0 -Struktur, die auf den lpMapiInit auf MAPI_NT_SERVICE festgelegt.

Hinweis Hinweis

Sie können nicht aufrufen MAPIInitialize oder MAPIUninitialize innerhalb einer DllMain Win32-Funktion oder eine andere Funktion, die erstellt oder Threads beendet. Weitere Informationen finden Sie unter Verwenden von threadsicheren-Objekten.

MAPIInitialize gibt keine erweiterten Fehlerinformationen zurück. Im Gegensatz zu den meisten anderen MAPI-Aufrufe sind die Bedeutungen der seine Rückgabewerte streng definiert, um zu bestimmten Schritt der Initialisierung entsprechen, bei denen Fehler:

  1. Überprüft, Parameter und Kennzeichen.

    MAPI_E_INVALID_PARAMETER oder MAPI_E_UNKNOWN_FLAGS. Anrufer übergeben Ungültiger Parameter oder Kennzeichnung.

  2. Initialisiert MAPI erforderliche Registrierungsschlüssel, und die Art des Betriebssystems bestätigt. Dieser Schritt tritt nur auf, wenn der Clientprozess als Dienst unter Windows ausgeführt wird und das Flag MAPI_NT-Dienst in der Struktur MAPIINIT_0 festgelegt.

    MAPI_E_TOO_COMPLEX. Der aufrufende Prozess ist ein Windows-Dienst und MAPI erforderliche Registrierungsschlüssel konnte nicht initialisiert werden.

    Zusätzliche Informationen möglicherweise im Anwendungsereignisprotokoll zur Verfügung.

  3. Überprüfen Sie die Kompatibilität von MAPI mit OLE und anschließend werden Sie OLE initialisiert.

    1. Überprüft die Kompatibilität zwischen der aktuellen Version von OLE und MAPI.

      MAPI_E_VERSION. Auf der Arbeitsstation installierte OLE-Version ist nicht kompatibel mit dieser Version von MAPI.

    2. OLE initialisiert.

      In diesem Schritt nur kann diese Funktion nicht aufgelisteten Fehlercode zurück. Alle Fehler- not hier aufgelisteten sollte das OLE-Funktion CoInitializestammen vorgegeben werden.

  4. Initialisiert pro Prozess globale Variablen.

    MAPI_E_SESSION_LIMIT. MAPI richtet Kontext speziell für den aktuellen Prozess. Fehler können auftreten, Win16 übersteigt die Anzahl der Prozesse eine bestimmte Anzahl oder auf einem System verfügbaren Arbeitsspeicher ausgeschöpft ist.

  5. Initialisiert freigegebene globale Variablen von allen Prozessen.

    MAPI_E_NOT_ENOUGH_RESOURCES. Nicht genügend Systemressourcen waren zum Abschließen des Vorgangs verfügbar.

  6. Initialisiert das Modul Benachrichtigung, die zugehörigen Fenster und seine Thread erstellt, wenn durch das Flag MAPI_MULTITHREAD_NOTIFICATIONS angefordert.

    MAPI_E_INVALID_OBJECT. Möglicherweise fehl, wenn Systemressourcen überlastet werden.

  7. Lädt und initialisiert den Benutzerprofildienst-Anbieter. Stellt sicher, dass diese MAPIInitialize den Registrierungsschlüssel zugreifen können, in denen Profildaten gespeichert sind.

    MAPI_E_NOT_INITIALIZED. Der Benutzerprofildienst-Anbieter ist ein Fehler aufgetreten.

Beispielcode MFCMAPI (engl.) finden Sie in der folgenden Tabelle.

Datei

Funktion

Comment

ContentsTableListCtrl.cpp

MFCMAPI (engl.) verwendet die MAPIInitialize -Methode in einem Hintergrundthread einige Tabelle Verarbeitung MAPI nicht initialisiert werden.

Anzeigen: