Compartir a través de


Información sobre la máquina de estados de replicación

Hace referencia a: Outlook 2013 | Outlook 2016

Este tema contiene información general de la máquina de estado para la replicación de datos Microsoft Outlook 2013 y Microsoft Outlook 2010.

Nota:

La API de replicación debe implementarse completamente de acuerdo con las instrucciones de este tema para que sea útil o compatible. La API de replicación está disponible exclusivamente para replicar los cambios de Outlook 2013 o Outlook 2010 en y desde un servidor.

IOSTX y la máquina de estado

Un cliente llama a IOSTX::SyncBeg, IOSTX::SyncEnd, IOSTX::SyncHdrBeg y IOSTX::SyncHdrEnd en una secuencia para sincronizar carpetas y elementos de Outlook 2013 o Outlook 2010 entre un almacén local y un servidor. La secuencia real de llamadas depende de los datos que se deben replicar (por ejemplo, una jerarquía de carpetas de Outlook 2013 o Outlook 2010, una carpeta de Outlook 2013 o Outlook 2010, elementos de correo, elementos de calendario, etc.) y la dirección de sincronización (ya sea cargando desde el almacén local al servidor o descargando desde el servidor al almacén local). Esta es una secuencia típica de llamadas:

  1. El cliente llama a IOSTX::SyncBeg para comenzar la replicación, especificando un identificador de estado y un puntero a una dirección de una estructura de datos correspondiente.

  2. Outlook 2013 o Outlook 2010 asigna la estructura de datos e inicializa la estructura de datos con la información necesaria para el cliente.

  3. El cliente realiza la replicación, actualizando la estructura de datos para transmitir al almacén local cualquier información necesaria sobre la replicación.

  4. Después de realizar la replicación, el cliente llama a IOSTX::SetSyncResult y IOSTX::SyncEnd para notificar al almacén local la finalización de la replicación específica.

Nota:

El cliente siempre llama a IOSTX::SyncEnd para finalizar una replicación que el cliente ha iniciado para un estado determinado. Dependiendo de los datos generales que el cliente necesita sincronizar, el cliente puede llamar al par de llamadas IOSTX::SyncBeg y IOSTX::SyncEnd más de una vez.

Tabla de estado

Nota:

En la tabla siguiente se enumeran todos los estados válidos de la máquina de estado de replicación, junto con los identificadores de estado correspondientes y las estructuras de datos. En la columna Datos replicados , el término "elementos" incluye elementos de correo, calendario, contacto, nota, diario y tarea. Al replicar cambios desde el almacén local al servidor, use identificadores de estado que especifiquen "UPLOAD" y estructuras de datos con el prefijo "UP" (por ejemplo, LR_SYNC_UPLOAD_HIERARCHY y UPHIER ). Al replicar cambios desde el servidor al almacén local, use identificadores de estado que especifiquen "DOWNLOAD" y estructuras de datos con el prefijo "DN" (por ejemplo, LR_SYNC_DOWNLOAD_HIERARCHY y DNHIER ).

State
Datos replicados
Identificador de estado
Estructura de datos
Estado inactivo
Ninguna
LR_SYNC_IDLE
Ninguna
Estado de sincronización
Carpetas o elementos
LR_SYNC
SINCRONIZAR
Estado de la jerarquía de carga
Folders
LR_SYNC_UPLOAD_HIERARCHY
UPHIER
Estado de la carpeta de carga
Folder
LR_SYNC_UPLOAD_FOLDER
UPFLD
Sincronizar el estado del contenido
Elementos
LR_SYNC_CONTENTS
SYNCCONT
Carga del estado de la tabla
Elementos
LR_SYNC_UPLOAD_TABLE
UPTBL
Carga del estado del mensaje
Elemento
LR_SYNC_UPLOAD_MESSAGE
UPMSG
Carga del estado de lectura
Elementos
LR_SYNC_UPLOAD_MESSAGE_READ
UPREAD
Carga del estado de eliminación
Elementos
LR_SYNC_UPLOAD_MESSAGE_DEL
UPDEL
Descargar estado de jerarquía
Folders
LR_SYNC_DOWNLOAD_HIERARCHY
DNHIER
Descargar el estado de la tabla
Elementos
LR_SYNC_DOWNLOAD_TABLE
DNTBL
Descargar el estado del encabezado del mensaje
Encabezado del mensaje
LR_SYNC_DOWNLOAD_HEADER
HDRSYNC

Ejemplo: Carga de una jerarquía de carpetas

Al cargar una jerarquía de carpetas, tiene lugar la siguiente secuencia de pasos:

Paso
Action
State
Estructura de datos relacionada
1. El cliente inicia la carga de jerarquía con IOSTX::SyncBeg. LR_SYNC_UPLOAD_HIERARCHY
UPHIER
2. Outlook 2013 o Outlook 2010 rellena UPHIER con información para el cliente. Esto incluye inicializar los parámetros [out]: iEnt se establece en 0 y cEnt en el número de carpetas de la jerarquía que necesita cargar. LR_SYNC_UPLOAD_HIERARCHY
UPHIER
3. El cliente realiza la carga de la jerarquía real. Por ejemplo, si cEnt es 10, para cada una de las 10 carpetas, el cliente llama a IOSTX::SyncBeg, especificando el identificador de estado y la estructura de datos adecuados para cargar una carpeta. LR_SYNC_UPLOAD_FOLDER
UPFLD
4. Outlook 2013 o Outlook 2010 rellena UPFLD inicializando sus parámetros [out], incluido el motivo de la carga de la carpeta, el puntero al objeto de carpeta y el identificador de entrada de la carpeta. LR_SYNC_UPLOAD_FOLDER
UPFLD
5. El cliente carga la carpeta especificada. LR_SYNC_UPLOAD_FOLDER
UPFLD
6. El cliente notifica al almacén local la finalización de la carga de la carpeta: tras realizarse correctamente, el cliente establece el parámetro [in] ulFlags en UPFLD con UPF_OK y, a continuación, llama a IOSTX::SetSyncResult (S_OK) y IOSTX::SyncEnd. En caso de error, el cliente no establecería ulFlags con la marca UPF_OK . Llama a IOSTX::SetSyncResult, pasando el valor HRESULT y IOSTX::SyncEnd. LR_SYNC_UPLOAD_FOLDER
UPFLD
7. Si se establece UPF_OK , Outlook 2013 o Outlook 2010 borrarán la solicitud interna para cargar la carpeta. A continuación, independientemente del estado de ulFlags, limpiará cualquier información de contabilidad interna. Aunque todavía hay carpetas en la jerarquía que cargar (iEnt sigue siendo menor que cEnt), el cliente y Outlook 2013 o Outlook 2010 repiten los pasos del 3 al 7. LR_SYNC_UPLOAD_FOLDER
UPFLD
8. El cliente notifica al almacén local de la finalización de la carga de jerarquía: cuando se realiza correctamente, el cliente establece la marca [in] en UPHIER con UPH_OK y, a continuación, llama a IOSTX::SetSyncResult (S_OK) y IOSTX::SyncEnd. En caso de error, el cliente no establecería la marca de UPH_OK . Llama a IOSTX::SetSyncResult, pasando el valor HRESULT y IOSTX::SyncEnd. LR_SYNC_UPLOAD_HIERARCHY
UPHIER
9. Si se establece UPH_OK , Outlook 2013 o Outlook 2010 borrarán la solicitud interna para cargar la jerarquía. A continuación, independientemente del estado de ulFlags, limpiará cualquier información de contabilidad interna. LR_SYNC_UPLOAD_HIERARCHY
UPHIER

Vea también

Información sobre la API de replicación
Constantes MAPI
SYNCSTATE