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:
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.
Outlook 2013 o Outlook 2010 asigna la estructura de datos e inicializa la estructura de datos con la información necesaria para el cliente.
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.
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