Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Outlook 2013 | Outlook 2016
Microsoft Office Outlook 2007, Microsoft Outlook 2010 und Microsoft Outlook 2013 mit dem Spitznamencache interagieren, der auch als "AutoVervollständigen-Stream" bezeichnet wird. Der AutoVervollständigen-Stream ist der Ort, an dem Outlook die AutoVervollständigen-Liste speichert. Dies ist die Liste der Namen, die in den Bearbeitungsfeldern An, Cc und Bcc angezeigt wird, während ein Benutzer eine E-Mail verfasst. In diesem Thema wird beschrieben, wie Outlook 2007, Outlook 2010 und Outlook 2013 mit dem AutoVervollständigen-Stream interagieren, und außerdem wird das Binärformat der Datei und die empfohlenen Möglichkeiten für die Interaktion mit dem AutoVervollständigen-Stream erläutert.
Für Anwendungen, die mit Outlook 2010 oder Outlook 2013 interagieren, wird der AutoVervollständigen-Stream als MAPI-Eigenschaft gespeichert und kann mithilfe der MAPI oder des PropertyAccessor-Objekts der Nachricht geändert werden. Das PropertyAccessor-Objekt wird in den Outlook 2010- oder Outlook 2013-Objektmodellen verfügbar gemacht.
Es gibt keine Abhängigkeiten vom Outlook 2007-Objektmodell oder vom MAPI-APIs. Daher können Anwendungen, die Änderungen am AutoVervollständigen-Stream in Outlook 2007 vornehmen, mit einer beliebigen Programmiersprache geschrieben werden.
Interaktion mit dem AutoVervollständigen-Stream
Wenn auf die Bearbeitungsfelder An, Cc oder Bcc für eine Nachricht zugegriffen wird, wird der AutoVervollständigen-Stream geladen, und die Liste der Benutzernamen wird angezeigt. Outlook interagiert mit dem AutoVervollständigen-Stream auf zwei Arten:
Laden des AutoVervollständigen-Streams
Speichern von Änderungen an den Daten im AutoVervollständigen-Stream
Die Methode zum Speichern der AutoVervollständigen-Daten unterscheidet sich zwischen Outlook 2007 und Outlook 2010 oder Outlook 2013 wie folgt:
Outlook 2007
Für Outlook 2007 wird der AutoVervollständigen-Stream in einer Datei mit dem gleichen Namen wie das Profil und der Erweiterung .nk2 gespeichert. Wenn beispielsweise das Standardprofil von "outlook" verwendet wird, wird die Datei "outlook.nk2" genannt. Die NK2-Datei wird in %APPDATA%\Microsoft\Outlook gespeichert. Weitere Informationen zum Spitznamen-Cache-Binärdateiformat finden Sie unter Outlook 2003/2007 NK2-Dateiformat und Entwicklerrichtlinien.
Outlook 2010 und Outlook 2013
Outlook 2010 oder Outlook 2013 liest den AutoVervollständigen-Stream aus einer Nachricht in der Tabelle Zugeordnete Inhalte des Posteingangs des Zustellungsspeichers des E-Mail-Kontos. Diese ausgeblendete Nachricht verfügt über eine Nachrichtenklasse und einen Betreff von IPM. Configuration.AutoComplete. Der AutoVervollständigen-Stream wird in dieser Nachricht in der PR_ROAMING_BINARYSTREAM-Eigenschaft (kanonische PidTagRoamingBinary-Eigenschaft) gespeichert. Die AutoVervollständigen-Daten werden möglicherweise vorübergehend in einer AutoVervollständigen-.dat Datei unter %USERPROFILE%\AppData\Local\Microsoft\Outlook\RoamCache zwischengespeichert. Die .dat-Datei ist jedoch nur ein Cache und wird nicht zum Zurückschreiben in den Übermittlungsspeicher verwendet, wenn der Benutzer Outlook 2010 oder Outlook 2013 beendet.
Laden der autovervollständigen-Stream
Outlook lädt den AutoVervollständigen-Stream immer dann, wenn ein Element mit Adressierungsfunktionalität initialisiert wird. Beispielsweise werden E-Mail-Adressen in einer neuen E-Mail, einer E-Mail-Antwort, einem Kontaktelement, einer Besprechungsanfrage usw. verwendet. Zum Laden der Daten liest Outlook den gesamten Inhalt des Datenstroms in den Arbeitsspeicher.
Bei AutoVervollständigen-Vorgängen interagiert Outlook für die Dauer der outlook.exe Prozesslebensdauer ausschließlich mit dieser In-Memory-Struktur. Outlook speichert die Struktur nur beim Herunterfahren. Weitere Informationen zu diesem Prozess finden Sie im folgenden Abschnitt "Speichern des autovervollständigen-Stream".
Speichern der autovervollständigen-Stream
Outlook speichert den AutoVervollständigen-Stream beim Herunterfahren, wenn sich die AutoVervollständigen-Liste auf eine der folgenden Arten geändert hat:
Ein neuer Spitzname-Eintrag wird hinzugefügt, indem ein Name aufgelöst, ein Empfänger aus dem Adressbuchdialogfeld ausgewählt oder E-Mails an einen Empfänger gesendet werden, der nicht bereits in der Liste enthalten war.
Ein Eintrag wird geändert, indem E-Mails an einen vorhandenen Empfänger in der Liste gesendet werden.
Ein Eintrag wird vom Benutzer über die Benutzeroberfläche entfernt.
Andere kleinere Szenarien, die für dieses Thema nicht relevant sind.
Das Speichern von Änderungen an den AutoVervollständigen-Daten umfasst das Zurückschreiben der In-Memory-Struktur in eine AutoVervollständigen-Stream. Bei der Interaktion mit Outlook 2007 wird der Stream in einer lokalen NK2-Datei gespeichert. Für Outlook 2010 oder Outlook 2013 schreibt der AutoVervollständigen-Stream zurück in die Tabelle Zugeordnete Inhalte des Posteingangs des Zustellungsspeichers des E-Mail-Kontos.
Empfehlungen
Ändern Sie den AutoVervollständigen-Stream niemals teilweise. Die unterstützte Interaktion besteht darin, 1) den gesamten AutoVervollständigen-Stream in den Arbeitsspeicher zu lesen, 2) die Speicherstruktur zu ändern und 3) den gesamten Stream zurück in die Tabelle Zugeordnete Inhalte des Posteingangs des E-Mail-Kontos (für Outlook 2010 oder Outlook 2013) oder in die lokale NK2-Datei (Outlook 2007) zu schreiben.
Interagieren Sie nicht mit dem AutoVervollständigen-Stream, während Outlook ausgeführt wird. Wenn Outlook ausgeführt wird, während Sie den Stream ändern, werden Ihre Änderungen wahrscheinlich überschrieben, wenn er heruntergefahren wird.
Schreiben Sie keine Eigenschaften vom Typ PT_MV_UNICODE und PR_MV_STRING8 in einen AutoVervollständigen-Stream, der von Microsoft Outlook 2003 verwendet werden soll. Diese Eigenschaften werden nur von Outlook 2007, Outlook 2010 und Outlook 2013 verstanden.
Bei der Entwicklung von Code, der mit Outlook 2007 interagiert, wird empfohlen, die NK2-Datei vor Änderungen durch andere Prozesse zu sperren, während Sie sie lesen und schreiben, indem Sie standard-APIs zum Sperren von Dateien verwenden (z. B. LockFile in C/C++ und FileStream.Lock in C#).
Ändern Sie nur die Eigenschaften von Typen, die aus dem Zeilensatz des AutoVervollständigen-Streams stammen. Weitere Informationen zu den AutoVervollständigen-Streameigenschaften und -Eigenschaftentypen finden Sie unter AutoVervollständigen Stream.