Share via


Interfaz IChangeApplicationServices

Representa un objeto de servicio de aplicación de cambios que se puede utilizar para realizar las acciones de aplicación de cambios de una en una.

interface IChangeApplicationServices : IUnknown

Miembros

Método de IChangeApplicationServices Descripción

IChangeApplicationServices::Initialize

Inicializa el objeto de servicio de aplicación de cambios. Debe llamarse a este método antes que a ningún otro método.

IChangeApplicationServices::BeginChangeApplication

Empieza a procesar un conjunto de cambios.

IChangeApplicationServices::BeginFullEnumerationChangeApplication

Empieza a procesar un conjunto de cambios como parte de una sincronización de recuperación.

IChangeApplicationServices::EndChangeApplication

Finaliza el procesamiento de un conjunto de cambios.

IChangeApplicationServices::EndFullEnumerationChangeApplication

Finaliza el procesamiento de un conjunto de cambios como parte de una sincronización de recuperación.

IChangeApplicationServices::SetDestinationKnowledge

Establece el conocimiento de destino utilizado para calcular el conocimiento de destino actualizado cuando se aplican los cambios.

IChangeApplicationServices::GetUpdatedDestinationKnowledge

Obtiene el conocimiento de destino actualizado que contiene todos los cambios que se han aplicado hasta el momento.

IChangeApplicationServices::GetChangeApplicationContext

Obtiene un objeto que representa el cambio actual que se va a aplicar.

IChangeApplicationServices::ReportItemChangeApplied

Notifica al servicio de aplicación de cambios que se ha aplicado correctamente un cambio de elemento a la réplica de destino.

IChangeApplicationServices::ReportChangeUnitChangeApplied

Notifica al servicio de aplicación de cambios que se ha aplicado correctamente un cambio de unidad de cambio a la réplica de destino.

IChangeApplicationServices::ReportRecoverableErrorOnItemChange

Notifica al servicio de aplicación de cambios que se produjo un error recuperable cuando el proveedor de destino intentó aplicar el cambio de elemento.

IChangeApplicationServices::ReportRecoverableErrorOnChangeUnitChange

Notifica al servicio de aplicación de cambios que se produjo un error recuperable cuando el proveedor de destino intentó aplicar el cambio de la unidad de cambio.

Notas

La interfaz IChangeApplicationServices forma parte del servicio de aplicación de cambios de Sync Framework, que se utiliza cuando un proveedor requiere una flexibilidad mayor de la que permite el aplicador de cambios estándar que proporciona Sync Framework. Por ejemplo, un proveedor debe retrasar la aplicación de ciertos cambios al final de la sesión de sincronización. El aplicador de cambios estándar no lo permite. El proveedor puede utilizar el servicio de aplicación de cambios para controlar la detección de conflictos y el cálculo del conocimiento, a la vez que conserva la capacidad de retrasar los cambios según sea necesario.

En el caso de un proveedor que no necesite la flexibilidad adicional del servicio de aplicación de cambios, puede ser más fácil utilizar un aplicador de cambios estándar, como ISynchronousNotifyingChangeApplier.

Normalmente, los proveedores de destino utilizan el servicio de aplicación de cambios para ayudar a implementar los métodos IKnowledgeSyncProvider::ProcessFullEnumerationChangeBatch e IKnowledgeSyncProvider::ProcessChangeBatch. Para utilizar el servicio de aplicación de cambios, siga estos pasos:

  1. Obtenga un objeto IChangeApplicationServices pasando IID_IChangeApplicationServices al método IProviderSyncServices::CreateChangeApplier.

  2. Inicialice el objeto mediante una llamada a IChangeApplicationServices::Initialize.

  3. Inicie el procesamiento de un lote de cambios llamando a IChangeApplicationServices::BeginChangeApplication, o inicie el procesamiento de un lote de cambios de sincronización de recuperación llamando a IChangeApplicationServices::BeginFullEnumerationChangeApplication. Normalmente, se llama a este método una vez para cada lote de cambios que se va a procesar.

  4. Enumere los cambios del lote de cambios. Llame a IChangeApplicationServices::GetChangeApplicationContext una vez por cada cambio y utilice el objeto IChangeApplicationContext devuelto para aplicar el cambio.

  5. Notifique los cambios aplicados correctamente llamando a IChangeApplicationServices::ReportItemChangeApplied o IChangeApplicationServices::ReportChangeUnitChangeApplied. Notifique los cambios que no se han aplicado llamando a IChangeApplicationServices::ReportRecoverableErrorOnItemChange o IChangeApplicationServices::ReportRecoverableErrorOnChangeUnitChange.

  6. Llame a IChangeApplicationServices::GetUpdatedDestinationKnowledge en cualquier momento para recuperar el conocimiento de destino actualizado que contiene todos los cambios aplicados hasta ese momento.

  7. Finalice el procesamiento de un lote de cambios llamando a IChangeApplicationServices::EndChangeApplication, o finalice el procesamiento de un lote de cambios de sincronización de recuperación llamando a IChangeApplicationServices::EndFullEnumerationChangeApplication. Guarde los objetos de conocimiento de destino actualizado y de conocimiento olvidado de destino devueltos por este método.

  8. Repita los pasos 3 a 7 para cada lote de cambios recibido por el proveedor de destino.

Requisitos

Encabezado: Synchronization.h

Vea también

Conceptos

Componentes principales de Sync Framework