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


IReplicaMetadata::GetNextTickCount

Увеличивает ранее сохраненное значение счетчика тактов для данной реплики, сохраняет новое значение в хранилище и возвращает новое значение.

HRESULT GetNextTickCount(
  ULONGLONG * pNextTickCount);

Параметры

  • pNextTickCount
    [out] Новое значение счетчика тактов для этой реплики.

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

  • S_OK

  • E_POINTER

Замечания

Реализация этого класса, которая возможна через интерфейс ISqlSyncMetadataStore, производит немедленное сохранение увеличенного значения в хранилище. Если существует незавершенная явная транзакция, то операция будет выполнена в контексте этой транзакции и будет откачена, если базовая транзакция ни зафиксирована, ни откачена.

Этот метод может оказаться полезным для поставщиков в следующих случаях.

  • Службы Sync Framework вызывают метод ISynchronousNotifyingChangeApplierTarget::GetCurrentTickCount. Sync Framework и ожидают, что цель применения изменения возвратит значение счетчика тактов, которое может быть использовано для присвоения элементу новой локальной версии.

  • Поставщик выполняет обслуживание метаданных в своем хранилище и должен присвоить новые версии тем изменениям, которые были выполнены с использованием механизмов, отличных от синхронизации. Версия такого изменения может быть собрана путем совмещения ключа локальной реплики и следующего значения счетчика тактов, полученного вызовом метода GetNextTickCount.

  • Поставщик отслеживает изменения в своем хранилище, и ему необходимо установить новую версию для каждого произошедшего изменения. Новая версия может быть создана путем совмещения ключа локальной реплики и следующего значения счетчика тактов, полученного вызовом метода GetNextTickCount.

Если поставщику необходимо не следующее значение счетчика тактов, а текущее, то он может вызвать метод IReplicaMetadata::GetKnowledge, чтобы получить текущий набор знаний, а затем извлечь из него текущее значение счетчика тактов.

См. также

Справочник

Интерфейс IReplicaMetadata