ISynchronousNotifyingChangeApplier::ApplyFullEnumerationChanges
Executa a detecção e a manipulação de conflitos, bem como a aplicação de um lote de alterações como parte de uma enumeração completa.
HRESULT ApplyFullEnumerationChanges(
CONFLICT_RESOLUTION_POLICY resolutionPolicy,
ISyncFullEnumerationChangeBatch * pSourceChanges,
IUnknown * pUnkDataRetriever,
IEnumSyncChanges * pDestinationVersions,
ISyncKnowledge * pDestinationKnowledge,
IForgottenKnowledge * pDestinationForgottenKnowledge,
ISynchronousNotifyingChangeApplierTarget * pChangeApplierTarget,
ISyncSessionState * pSessionState,
ISyncCallback * pCallback);
Parâmetros
Parâmetro |
Descrição |
resolutionPolicy |
[in] A política a ser usada para resolver conflitos. |
pSourceChanges |
[in] O lote de alterações do provedor de origem. |
pUnkDataRetriever |
[in] Um objeto que pode ser usado para recuperar dados de item a partir da réplica de origem. |
pDestinationVersions |
[in] Um lote de alterações que contém as versões dos itens armazenados na réplica de destino. Esses itens correspondem aos itens em pSourceChanges. |
pDestinationKnowledge |
[in] O conhecimento da réplica de destino. |
pDestinationForgottenKnowledge |
[in] O conhecimento esquecido da réplica de destino. |
pChangeApplierTarget |
[in] O objeto que será chamado para salvar alterações e conflitos. |
pSessionState |
[in, unique] Informações de estado sobre a sessão atual. |
pCallback |
[in, unique] Retornos de chamada que receberão notificações sobre eventos de aplicação de alterações. |
Valor de retorno
S_OK
E_POINTER
SYNC_E_OBJECT_NEEDS_STATE
SYNC_E_INTERNAL_ERROR
SYNC_E_CHANGE_COUNT_MISMATCH
SYNC_E_CHANGE_NEEDS_KNOWLEDGE
SYNC_E_ITEM_HAS_NO_CHANGE_UNITS
SYNC_E_CHANGE_NOT_IN_KNOWLEDGE
SYNC_E_CHANGE_UNIT_COUNT_MISMATCH
SYNC_E_NOT_EXPECTED_CHANGE
SYNC_E_ITEM_MUST_EXIST
SYNC_E_ID_FORMAT_MISMATCH
SYNC_E_BATCH_NEEDS_KNOWLEDGE
SYNC_E_KNOWLEDGE_DECREASED
Comentários
Este método detecta conflitos que ocorrem entre as alterações enviadas em pSourceChanges e os itens correspondentes na réplica de destino. Este método resolve qualquer conflito de acordo com a diretriz especificada por resolutionPolicy. Se necessário, este método chama métodos em pChangeApplierTarget para salvar alterações na réplica de destino e salvar conflitos não resolvidos.
Consulte também
Referência
Interface ISynchronousNotifyingChangeApplier
Enumeração CONFLICT_RESOLUTION_POLICY