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.