Freigeben über


Informationen über den Replikationszustandsautomaten

Gilt für: Outlook 2013 | Outlook 2016

Dieses Thema enthält eine Übersicht über den Zustandscomputer für Microsoft Outlook 2013 und Microsoft Outlook 2010 Datenreplikation.

Hinweis

Die Replikations-API muss gemäß den Anweisungen in diesem Thema vollständig implementiert werden, um nützlich oder unterstützt zu werden. Die Replikations-API steht ausschließlich zum Replizieren von Outlook 2013- oder Outlook 2010-Änderungen auf und von einem Server zur Verfügung.

IOSTX und der Zustandsautomat

Ein Client ruft IOSTX::SyncBeg, IOSTX::SyncEnd, IOSTX::SyncHdrBeg und IOSTX::SyncHdrEnd in einer Sequenz auf, um Outlook 2013- oder Outlook 2010-Ordner und -Elemente zwischen einem lokalen Speicher und einem Server zu synchronisieren. Die tatsächliche Reihenfolge der Aufrufe hängt von den Daten ab, die repliziert werden müssen (z. B. einer Hierarchie von Outlook 2013- oder Outlook 2010-Ordnern, einem Outlook 2013- oder Outlook 2010-Ordner, E-Mail-Elementen, Kalenderelementen usw.) und der Synchronisierungsrichtung (ob das Hochladen aus dem lokalen Speicher auf den Server oder das Herunterladen vom Server in den lokalen Speicher). Hier sehen Sie eine typische Sequenz von Aufrufen:

  1. Der Client ruft IOSTX::SyncBeg auf, um mit der Replikation zu beginnen, indem er einen Zustandsbezeichner und einen Zeiger auf eine Adresse einer entsprechenden Datenstruktur angibt.

  2. Outlook 2013 oder Outlook 2010 ordnet die Datenstruktur zu und initialisiert die Datenstruktur mit den erforderlichen Informationen für den Client.

  3. Der Client führt die Replikation durch und aktualisiert die Datenstruktur, um alle erforderlichen Informationen zur Replikation an den lokalen Speicher zu übermitteln.

  4. Nach der Durchführung der Replikation ruft der Client IOSTX::SetSyncResult und IOSTX::SyncEnd auf, um den lokalen Speicher über den Abschluss der spezifischen Replikation zu benachrichtigen.

Hinweis

Der Client ruft immer IOSTX::SyncEnd auf, um eine Replikation zu beenden, die der Client für einen bestimmten Zustand begonnen hat. Abhängig von den Gesamtdaten, die der Client synchronisieren muss, kann der Client das Paar der Aufrufe IOSTX::SyncBeg und IOSTX::SyncEnd mehrmals aufrufen.

Zustandstabelle

Hinweis

In der folgenden Tabelle sind alle gültigen Zustände auf dem Replikationszustandscomputer zusammen mit den entsprechenden Zustandsbezeichnern und Datenstrukturen aufgeführt. In der Spalte Datenrepliziert umfasst der Begriff "Elemente" E-Mail-, Kalender-, Kontakt-, Notiz-, Journal- und Aufgabenelemente. Verwenden Sie beim Replizieren von Änderungen vom lokalen Speicher auf den Server Zustandsbezeichner, die "UPLOAD" und Datenstrukturen mit dem Präfix "UP" angeben (z. B. LR_SYNC_UPLOAD_HIERARCHY und UPHIER ). Verwenden Sie beim Replizieren von Änderungen vom Server in den lokalen Speicher Zustandsbezeichner, die "DOWNLOAD" und Datenstrukturen mit dem Präfix "DN" angeben (z. B. LR_SYNC_DOWNLOAD_HIERARCHY und DNHIER ).

Status
Replizierte Daten
Zustandsbezeichner
Datenstruktur
Zustand „Leerlauf“
Keine
LR_SYNC_IDLE
Keine
Zustand „Synchronisieren“
Ordner oder Elemente
LR_SYNC
SYNC
Uploadhierarchiestatus
Ordner
LR_SYNC_UPLOAD_HIERARCHY
UPHIER
Ordnerstatus hochladen
Ordner
LR_SYNC_UPLOAD_FOLDER
UPFLD
Inhaltsstatus synchronisieren
Elemente
LR_SYNC_CONTENTS
SYNCCONT
Tabellenzustand hochladen
Elemente
LR_SYNC_UPLOAD_TABLE
UPTBL
Nachrichtenstatus hochladen
Element
LR_SYNC_UPLOAD_MESSAGE
UPMSG
Lese-status-Zustand hochladen
Elemente
LR_SYNC_UPLOAD_MESSAGE_READ
UPREAD
Upload delete status state
Elemente
LR_SYNC_UPLOAD_MESSAGE_DEL
UPDEL
Hierarchiestatus herunterladen
Ordner
LR_SYNC_DOWNLOAD_HIERARCHY
DNHIER
Tabellenstatus herunterladen
Elemente
LR_SYNC_DOWNLOAD_TABLE
DNTBL
Status des Nachrichtenheaders herunterladen
Nachrichtenkopf
LR_SYNC_DOWNLOAD_HEADER
HDRSYNC

Beispiel: Hochladen einer Ordnerhierarchie

Beim Hochladen einer Ordnerhierarchie erfolgt die folgende Abfolge von Schritten:

Schritt
Aktion
Status
Zugehörige Datenstruktur
1. Der Client initiiert den Hierarchieupload mit IOSTX::SyncBeg. LR_SYNC_UPLOAD_HIERARCHY
UPHIER
2. Outlook 2013 oder Outlook 2010 füllt UPHIER mit Informationen für den Client auf. Dies schließt das Initialisieren der [out]-Parameter ein: iEnt ist auf 0 und cEnt auf die Anzahl der Ordner in der Hierarchie festgelegt, die hochgeladen werden müssen. LR_SYNC_UPLOAD_HIERARCHY
UPHIER
3. Der Client führt den eigentlichen Hierarchieupload durch. Wenn cEnt beispielsweise 10 ist, ruft der Client für jeden der 10 Ordner IOSTX::SyncBeg auf und gibt den entsprechenden Zustandsbezeichner und die Datenstruktur für das Hochladen eines Ordners an. LR_SYNC_UPLOAD_FOLDER
UPFLD
4. Outlook 2013 oder Outlook 2010 füllt UPFLD auf, indem die Parameter [out] initialisiert werden, einschließlich des Grunds für den Ordnerupload, des Zeigers auf das Ordnerobjekt und der Eintrags-ID für den Ordner. LR_SYNC_UPLOAD_FOLDER
UPFLD
5. Der Client lädt den angegebenen Ordner hoch. LR_SYNC_UPLOAD_FOLDER
UPFLD
6. Der Client benachrichtigt den lokalen Speicher über den Abschluss des Ordneruploads: Bei Erfolg legt der Client den [in]-Parameter ulFlags in UPFLD mit UPF_OK fest und ruft dann IOSTX::SetSyncResult (S_OK) und IOSTX::SyncEnd auf. Bei einem Fehler würde der Client ulFlags nicht mit dem UPF_OK-Flag festlegen. Es ruft IOSTX::SetSyncResult auf und übergibt den HRESULT-Wert und IOSTX::SyncEnd. LR_SYNC_UPLOAD_FOLDER
UPFLD
7. Wenn UPF_OK festgelegt ist, löscht Outlook 2013 oder Outlook 2010 die interne Anforderung zum Hochladen des Ordners. Unabhängig vom Zustand von ulFlags werden dann alle internen Buchhaltungsinformationen sauber. Obwohl in der Hierarchie noch Ordner zum Hochladen vorhanden sind (iEnt ist immer noch kleiner als cEnt), wiederholen der Client und Outlook 2013 oder Outlook 2010 die Schritte 3 bis 7. LR_SYNC_UPLOAD_FOLDER
UPFLD
8. Der Client benachrichtigt den lokalen Speicher über den Abschluss des Hierarchieuploads: Bei Erfolg legt der Client das Flag "[in]" in UPHIER mit UPH_OK fest und ruft dann IOSTX::SetSyncResult (S_OK) und IOSTX::SyncEnd auf. Bei einem Fehler würde der Client das UPH_OK-Flag nicht festlegen. Es ruft IOSTX::SetSyncResult auf und übergibt den HRESULT-Wert und IOSTX::SyncEnd. LR_SYNC_UPLOAD_HIERARCHY
UPHIER
9. Wenn UPH_OK festgelegt ist, löscht Outlook 2013 oder Outlook 2010 die interne Anforderung zum Hochladen der Hierarchie. Unabhängig vom Zustand von ulFlags werden dann alle internen Buchhaltungsinformationen sauber. LR_SYNC_UPLOAD_HIERARCHY
UPHIER

Siehe auch

Informationen über die Replikations-API
MAPI-Konstanten
SYNCSTATE