Compartilhar via


Interface IChangeApplicationServices

Representa um objeto de serviço de aplicação de alterações que pode ser usado para executar ações de aplicação de alterações individualmente.

interface IChangeApplicationServices : IUnknown

Membros

Método IChangeApplicationServices Descrição

IChangeApplicationServices::Initialize

Inicializa o objeto de serviço de aplicação de alterações. Este método deve ser chamado antes de quaisquer outros métodos.

IChangeApplicationServices::BeginChangeApplication

Inicia o processamento de um conjunto de alterações.

IChangeApplicationServices::BeginFullEnumerationChangeApplication

Inicia o processamento de um conjunto de alterações como parte de uma sincronização de recuperação.

IChangeApplicationServices::EndChangeApplication

Encerra o processamento de um conjunto de alterações.

IChangeApplicationServices::EndFullEnumerationChangeApplication

Encerra o processamento de um conjunto de alterações como parte de uma sincronização de recuperação.

IChangeApplicationServices::SetDestinationKnowledge

Define o conhecimento de destino usado para calcular o conhecimento de destino atualizado conforme as alterações são aplicadas.

IChangeApplicationServices::GetUpdatedDestinationKnowledge

Obtém o conhecimento de destino atualizado que contém todas as alterações que foram aplicadas até o momento.

IChangeApplicationServices::GetChangeApplicationContext

Obtém um objeto que representa a alteração atual a ser aplicada.

IChangeApplicationServices::ReportItemChangeApplied

Notifica o serviço de aplicação de alterações de que a alteração de um item foi aplicada com êxito à réplica de destino.

IChangeApplicationServices::ReportChangeUnitChangeApplied

Notifica o serviço de aplicação de alterações de que a alteração de uma unidade de alteração foi aplicada com êxito à réplica de destino.

IChangeApplicationServices::ReportRecoverableErrorOnItemChange

Notifica o serviço de aplicação de alterações de que um erro recuperável ocorreu quando o provedor de destino tentou aplicar a alteração de item.

IChangeApplicationServices::ReportRecoverableErrorOnChangeUnitChange

Notifica o serviço de aplicação de alterações de que um erro recuperável ocorreu quando o provedor de destino tentou aplicar a alteração da unidade de alteração.

Comentários

A interface IChangeApplicationServices faz parte do serviço de aplicação de alterações do Sync Framework, que é usado quando um provedor requer uma flexibilidade maior do que a permitida pelo aplicador de alterações padrão fornecido pelo Sync Framework. Por exemplo, um provedor deve adiar a aplicação de determinadas alterações para o fim da sessão de sincronização. O aplicador de alterações padrão não permite isso. O provedor pode usar o serviço de aplicação de alterações para manipular a detecção de conflitos e o cálculo de conhecimento, ao mesmo tempo em que mantém a capacidade de adiar as alterações conforme a necessidade.

Para um provedor que não precisa da flexibilidade adicional do serviço de aplicação de alterações, pode ser mais fácil usar um aplicador de alterações padrão, como o ISynchronousNotifyingChangeApplier.

O serviço de aplicação de alterações geralmente é usado por um provedor de destino para ajudar na implementação de seus métodos IKnowledgeSyncProvider::ProcessChangeBatch e IKnowledgeSyncProvider::ProcessFullEnumerationChangeBatch. Para usar o serviço de aplicação de alterações, siga as etapas a seguir:

  1. Obtenha um objeto IChangeApplicationServices passando IID_IChangeApplicationServices para o método IProviderSyncServices::CreateChangeApplier.

  2. Inicialize o objeto chamando IChangeApplicationServices::Initialize.

  3. Inicie o processamento de um lote de alterações chamando IChangeApplicationServices::BeginChangeApplication ou inicie o processamento de um lote de alterações de sincronização de recuperação chamando IChangeApplicationServices::BeginFullEnumerationChangeApplication. Geralmente, esse método é chamado uma vez para cada lote de alterações a ser processado.

  4. Enumere as alterações no lote de alterações. Chame IChangeApplicationServices::GetChangeApplicationContext uma vez para cada alteração e use o objeto IChangeApplicationContext retornado para aplicar a alteração.

  5. Relate as alterações cujas aplicações forem bem-sucedidas, chamando IChangeApplicationServices::ReportItemChangeApplied ou IChangeApplicationServices::ReportChangeUnitChangeApplied. Relate as alterações cujas aplicações falharem, chamando IChangeApplicationServices::ReportRecoverableErrorOnItemChange ou IChangeApplicationServices::ReportRecoverableErrorOnChangeUnitChange.

  6. Chame IChangeApplicationServices::GetUpdatedDestinationKnowledge a qualquer momento para recuperar o conhecimento de destino atualizado que contém todas as alterações que foram aplicadas até o momento.

  7. Encerre o processamento de um lote de alterações chamando IChangeApplicationServices::EndChangeApplication ou encerre o processamento de um lote de alterações de sincronização de recuperação chamando IChangeApplicationServices::EndFullEnumerationChangeApplication. Salve os objetos de conhecimento de destino atualizado e de conhecimento esquecido de destino que são retornados por esse método.

  8. Repita as etapas de 3 a 7 para cada lote de alterações recebido pelo provedor de destino.

Requisitos

Cabeçalho: Synchronization.h

Consulte também

Conceitos

Componentes principais do Sync Framework