Поделиться через


ISynchronousNotifyingChangeApplier::ApplyFullEnumerationChanges

Выполняет обнаружение и обработку конфликтов, а также применение изменений для пакета изменений в ходе полного перечисления.

HRESULT ApplyFullEnumerationChanges( 
  CONFLICT_RESOLUTION_POLICY resolutionPolicy,
  ISyncFullEnumerationChangeBatch * pSourceChanges,
  IUnknown * pUnkDataRetriever,
  IEnumSyncChanges * pDestinationVersions,
  ISyncKnowledge * pDestinationKnowledge,
  IForgottenKnowledge * pDestinationForgottenKnowledge,
  ISynchronousNotifyingChangeApplierTarget * pChangeApplierTarget,
  ISyncSessionState * pSessionState,
  ISyncCallback * pCallback);

Параметры

Параметр

Описание

resolutionPolicy

[in] Политика, применяемая для устранения конфликтов.

pSourceChanges

[in] Пакет изменений от поставщика источника.

pUnkDataRetriever

[in] Объект, который можно использовать для получения данных элемента из реплики источника.

pDestinationVersions

[in] Пакет изменений, содержащий версии элементов, которые сохраняются в реплике назначения. Эти элементы соответствуют элементам в списке pSourceChanges.

pDestinationKnowledge

[in] Набор знаний реплики назначения.

pDestinationForgottenKnowledge

[in] Утраченный набор знаний реплики назначения.

pChangeApplierTarget

[in] Объект, который будет вызываться для сохранения изменений и конфликтов.

pSessionState

[in, unique] Сведения о состоянии текущего сеанса.

pCallback

[in, unique] Обратные вызовы, которые будут получать уведомления о событиях применения изменений.

Возвращаемое значение

  • 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

Замечания

Этот метод обнаруживает конфликты, возникающие между изменениями, отправленными в pSourceChanges, и соответствующими элементами реплики назначения. Он разрешает все конфликты в соответствии с политикой, определяемой параметром resolutionPolicy. В случае необходимости этот метод затем вызывает методы применительно к pChangeApplierTarget для сохранения изменений в реплике назначения и неразрешенных конфликтов.

См. также

Справочник

Интерфейс ISynchronousNotifyingChangeApplier
Перечисление CONFLICT_RESOLUTION_POLICY