IAsynchronousNotifyingChangeApplier::ApplyChanges
Executa a detecção e a manipulação de conflitos, bem como a aplicação de alterações para um lote de alterações.
Dica
Esse método agora está obsoleto.
HRESULT ApplyChanges(
CONFLICT_RESOLUTION_POLICY resolutionPolicy,
ISyncChangeBatch *pSourceChanges,
IUnknown * pUnkDataRetriever,
IEnumSyncChanges * pDestinationVersions,
ISyncKnowledge *pDestinationKnowledge,
IForgottenKnowledge *pDestinationForgottenKnowledge,
IAsynchronousNotifyingChangeApplierTarget * 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] Uma lista de alterações que contém as versões dos itens que são 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_OUTOFMEMORY
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
Comentários
Normalmente esse método é chamado por um provedor a partir de seu método de IKnowledgeSyncProvider::ProcessChangeBatch.
Este método detecta conflitos que ocorrem entre as alterações enviadas em pSourceChanges e os itens correspondentes na réplica de destino. Ele resolve qualquer conflito de acordo com a política especificada por resolutionPolicy. Se necessário, este método chama métodos em pChangeApplierTarget para salvar alterações na réplica de destino e para salvar conflitos não resolvidos.
Se pDestinationVersions for NULL, Sync Framework chamará IASynchronousNotifyingChangeApplierTarget::GetDestinationVersion em pChangeApplierTarget para cada item em pSourceChanges.
Consulte também
Referência
Interface IAsynchronousNotifyingChangeApplier
Enumeração CONFLICT_RESOLUTION_POLICY