Интерфейс IChangeApplicationServices
Представляет объект службы применения изменений, который можно использовать для выполнения отдельных действий по применению изменений.
interface IChangeApplicationServices : IUnknown
Элементы
Метод IChangeApplicationServices | Описание |
---|---|
Инициализирует объект службы применения изменений. Этот метод должен вызываться до вызова любых других методов. |
|
Начинает обработку пакета изменений. |
|
IChangeApplicationServices::BeginFullEnumerationChangeApplication |
Начинает обработку набора изменений в ходе синхронизации восстановления. |
Завершает обработку пакета изменений. |
|
IChangeApplicationServices::EndFullEnumerationChangeApplication |
Завершает обработку набора изменений в ходе синхронизации восстановления. |
Задает набор знаний назначения, который используется для вычисления обновленного набора знаний назначения в ходе применения изменений. |
|
Возвращает обновленный набор знаний назначения, содержащий все изменения, примененные на данный момент. |
|
Возвращает объект, представляющий текущее изменение для применения. |
|
Уведомляет службу применения изменений об успешном применении изменения элемента в реплике назначения. |
|
Уведомляет службу применения изменений об успешном применении изменения базовой единицы в реплике назначения. |
|
IChangeApplicationServices::ReportRecoverableErrorOnItemChange |
Уведомляет службу применения изменений об устранимой ошибке, произошедшей, когда поставщик назначения применял изменение элемента. |
IChangeApplicationServices::ReportRecoverableErrorOnChangeUnitChange |
Уведомляет службу применения изменений об устранимой ошибке, произошедшей, когда поставщик назначения применял изменение базовой единицы. |
Замечания
Интерфейс IChangeApplicationServices является частью службы применения изменений Sync Framework и используется в тех случаях, от поставщика требуется гибкость, которая не обеспечивается стандартным объектом применения изменений, реализованным в Sync Framework. Например, поставщик должен откладывать применение определенных изменений до завершения сеанса синхронизации. Стандартный объект применения изменений этого не позволяет. Поставщик может использовать службу применения изменений для обработки обнаружения конфликтов и вычисления набора знаний, сохранив способность откладывать изменения в случае необходимости.
Для поставщика, которому не требуется дополнительная гибкость службы применения изменений, может оказаться проще использовать стандартный объект применения изменений, например ISynchronousNotifyingChangeApplier.
Служба применения изменений обычно используется поставщиком назначения в рамках реализации методов IKnowledgeSyncProvider::ProcessChangeBatch и IKnowledgeSyncProvider::ProcessFullEnumerationChangeBatch. Для использования службы применения изменений выполните следующие действия.
Получите объект IChangeApplicationServices путем передачи IID_IChangeApplicationServices методу IProviderSyncServices::CreateChangeApplier.
Инициализируйте объект путем вызова метода IChangeApplicationServices::Initialize.
Запустите обработку пакета изменений, вызвав метод IChangeApplicationServices::BeginChangeApplication, или запустите обработку пакета изменений для синхронизации восстановления, вызвав метод IChangeApplicationServices::BeginFullEnumerationChangeApplication. Обычно этот метод вызывается один раз для каждого обрабатываемого пакета изменений.
Выполните перечисление изменений в пакете. Вызовите метод IChangeApplicationServices::GetChangeApplicationContext один раз для каждого изменения и используйте возвращенный объект IChangeApplicationContext для применения изменений.
Сообщите об успешном применении изменений, вызвав метод IChangeApplicationServices::ReportItemChangeApplied или IChangeApplicationServices::ReportChangeUnitChangeApplied. Сообщите о неуспешном применении изменений, вызвав метод IChangeApplicationServices::ReportRecoverableErrorOnItemChange или IChangeApplicationServices::ReportRecoverableErrorOnChangeUnitChange.
Вызовите метод IChangeApplicationServices::GetUpdatedDestinationKnowledge в любое время, чтобы получить обновленный набор знаний назначения, содержащий все изменения, примененные на данный момент.
Завершите обработку пакета изменений, вызвав метод IChangeApplicationServices::EndChangeApplication, или завершите обработку пакета изменений для синхронизации восстановления, вызвав метод IChangeApplicationServices::EndFullEnumerationChangeApplication. Сохраните обновленные объекты набора знаний назначения и утраченного набора знаний назначения, возвращенные этим методом.
Повторите шаги с 3 по 7 для каждого пакета изменений, полученного поставщиком назначения.
Системные требования
Заголовок: Synchronization.h