Partager via


IAsynchronousNotifyingChangeApplier::ApplyChanges

Effectue des opérations de détection de conflit, de gestion des conflits et d'application des modifications pour un lot de modifications.

Notes

Cette méthode est désormais obsolète.

Syntaxe

HRESULT ApplyChanges( 
  CONFLICT_RESOLUTION_POLICY resolutionPolicy,
  ISyncChangeBatch *pSourceChanges,
  IUnknown * pUnkDataRetriever,
  IEnumSyncChanges * pDestinationVersions,
  ISyncKnowledge *pDestinationKnowledge,
  IForgottenKnowledge *pDestinationForgottenKnowledge,
  IAsynchronousNotifyingChangeApplierTarget * pChangeApplierTarget,
  ISyncSessionState * pSessionState,
  ISyncCallback *pCallback);

Paramètres

Paramètre

Description

resolutionPolicy

[in] Stratégie à utiliser pour résoudre les conflits.

pSourceChanges

[in] Lot de modifications du fournisseur de source.

pUnkDataRetriever

[in] Objet qui peut être utilisé pour récupérer des données d'élément du réplica source.

pDestinationVersions

[in] Liste de modifications qui contient les versions des éléments stockés dans le réplica de destination. Ces éléments correspondent aux éléments dans pSourceChanges.

pDestinationKnowledge

[in] Connaissance du réplica de destination.

pDestinationForgottenKnowledge

[in] Connaissance oubliée du réplica de destination.

pChangeApplierTarget

[in] Objet qui sera appelé pour enregistrer les modifications et conflits.

pSessionState

[in, unique] Informations d'état relatives à la session active.

pCallback

[in, unique] Rappels qui recevront des notifications relatives aux événements d'application de modifications.

Valeur de retour

  • 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

Notes

En général, cette méthode est appelée par un fournisseur à partir de sa méthode IKnowledgeSyncProvider::ProcessChangeBatch.

Cette méthode détecte les conflits qui se produisent entre les modifications envoyées dans pSourceChanges et les éléments correspondants dans le réplica de destination. Elle résout les conflits en fonction de la stratégie spécifiée par resolutionPolicy. Si nécessaire, cette méthode appelle ensuite des méthodes sur pChangeApplierTarget pour enregistrer les modifications dans le réplica de destination et enregistrer les conflits non résolus.

Si pDestinationVersions a la valeur NULL, Sync Framework appelle IASynchronousNotifyingChangeApplierTarget::GetDestinationVersion sur pChangeApplierTarget pour chaque élément dans pSourceChanges.

Voir aussi

Autres ressources

Interface IAsynchronousNotifyingChangeApplier

Énumération CONFLICT_RESOLUTION_POLICY