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


ISaveChangeContext::GetChangeFromDestinationVersions

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

HRESULT GetChangeFromDestinationVersions(
  ISyncChange ** ppChangeFromDestinationVersions);

Параметры

  • ppChangeFromDestinationVersions
    [out] Возвращает объект, содержащий исходную версию, переданную поставщиком назначения модулю применения изменений.

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

  • S_OK

  • E_POINTER

  • SYNC_E_INTERNAL_ERROR

Замечания

Этот метод можно использовать для реализации проверки оптимистичного параллелизма. Для этого поставщик назначения сравнивает версию, содержащуюся в ppChangeFromDestinationVersions, с текущей версией, указанной в метаданных. Если версии не совпадают, это значит, что элемент был изменен в реплике назначения в период времени с момента начала применения изменений и до вызова метода ISynchronousNotifyingChangeApplierTarget::SaveChange. Если это происходит, поставщик назначения должен сообщить об ошибке, используя ISaveChangeContext::SetRecoverableErrorOnChange, а метаданные и данные этого изменения не должны применяться. Следует иметь в виду, что эта проверка параллелизма эффективна, только если версии в хранилище метаданных обновляются до выполнения проверки параллелизма (например в системе, в которой версии в хранилище метаданных обновляются одновременно с изменением элементов в хранилище элементов).

См. также

Справочник

Интерфейс ISaveChangeContext