IReplicaMetadata::GetNextTickCount
Увеличивает ранее сохраненное значение счетчика тактов для данной реплики, сохраняет новое значение в хранилище и возвращает новое значение.
HRESULT GetNextTickCount(
ULONGLONG * pNextTickCount);
Параметры
- pNextTickCount
[out] Новое значение счетчика тактов для этой реплики.
Возвращаемое значение
S_OK
E_POINTER
Замечания
Реализация этого класса, которая возможна через интерфейс ISqlSyncMetadataStore, производит немедленное сохранение увеличенного значения в хранилище. Если существует незавершенная явная транзакция, то операция будет выполнена в контексте этой транзакции и будет откачена, если базовая транзакция ни зафиксирована, ни откачена.
Этот метод может оказаться полезным для поставщиков в следующих случаях.
Службы Sync Framework вызывают метод ISynchronousNotifyingChangeApplierTarget::GetCurrentTickCount. Sync Framework и ожидают, что цель применения изменения возвратит значение счетчика тактов, которое может быть использовано для присвоения элементу новой локальной версии.
Поставщик выполняет обслуживание метаданных в своем хранилище и должен присвоить новые версии тем изменениям, которые были выполнены с использованием механизмов, отличных от синхронизации. Версия такого изменения может быть собрана путем совмещения ключа локальной реплики и следующего значения счетчика тактов, полученного вызовом метода GetNextTickCount.
Поставщик отслеживает изменения в своем хранилище, и ему необходимо установить новую версию для каждого произошедшего изменения. Новая версия может быть создана путем совмещения ключа локальной реплики и следующего значения счетчика тактов, полученного вызовом метода GetNextTickCount.
Если поставщику необходимо не следующее значение счетчика тактов, а текущее, то он может вызвать метод IReplicaMetadata::GetKnowledge, чтобы получить текущий набор знаний, а затем извлечь из него текущее значение счетчика тактов.