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


Интерфейс IReplicaMetadata

Предоставляет доступ к метаданным реплики и метаданным элемента в хранилище метаданных. Кроме того, интерфейс IReplicaMetadata предоставляет службы для обнаружения удалений и службы поддержки для реализации методов службы синхронизации.

interface IReplicaMetadata : IUnknown

Элементы

Члены класса IReplicaMetadata могут быть разделены на следующие концептуальные группы.

Метаданные для реплики

Следующие члены класса IReplicaMetadata обеспечивают доступ к метаданным, связанным с репликой в целом.

Методы IReplicaMetadata Описание

IReplicaMetadata::GetReplicaId

Возвращает идентификатор реплики, связанной с этими метаданными.

IReplicaMetadata::GetNextTickCount

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

IReplicaMetadata::GetKnowledge

Возвращает текущий набор знаний для данной реплики.

IReplicaMetadata::SetKnowledge

Задает текущий набор знаний для данной реплики.

IReplicaMetadata::GetForgottenKnowledge

Возвращает утраченный набор знаний для данной реплики.

IReplicaMetadata::SetForgottenKnowledge

Задает утраченный набор знаний для данной реплики.

IReplicaMetadata::GetCustomFieldMetadata

Возвращает пользовательское поле метаданных, связанное с данной репликой.

IReplicaMetadata::SetCustomFieldMetadata

Задает пользовательское поле метаданных, связанное с данной репликой.

IReplicaMetadata::SaveReplicaMetadata

Сохраняет изменения свойств метаданных реплики в хранилище метаданных.

NoteПримечание.

Изменения экземпляра класса IReplicaMetadata, произведенные с помощью этих свойств или методов, будут сохранены в хранилище метаданных только после вызова метода SaveReplicaMetadata.

Метаданные для элементов

Следующие члены класса IReplicaMetadata обеспечивают доступ к метаданным для элементов.

Методы IReplicaMetadata Описание

IReplicaMetadata::CreateEmptyFieldValue

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

IReplicaMetadata::CreateNewItemMetadata

Создает новый объект IItemMetadata, который может быть использован для добавления новой записи метаданных элемента в хранилище метаданных.

IReplicaMetadata::SaveItemMetadata

Сохраняет изменения свойств метаданных элемента в хранилище метаданных.

IReplicaMetadata::RemoveItemMetadataByGlobalId

Удаляет метаданные элемента из хранилища метаданных.

IReplicaMetadata::FindItemMetadataByGlobalId

Возвращает метаданные элемента, имеющего указанный глобальный идентификатор.

IReplicaMetadata::FindItemMetadataByUniqueIndexedFields

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

IReplicaMetadata::FindItemMetadataByIndexedFields

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

IReplicaMetadata::GetLastDeletedItemsCleanupTime

Возвращает время последней очистки удаленных элементов методом CleanupDeletedItems.

IReplicaMetadata::CleanupDeletedItems

Окончательно удаляет элементы, помеченные как удаленные, если после последней очистки прошел заданный промежуток времени.

IReplicaMetadata::GetItemCount

Возвращает полное число элементов в хранилище метаданных и число элементов, удаленных из хранилища метаданных.

NoteПримечание.

Изменения свойств экземпляра класса IItemMetadata будут сохранены в хранилище метаданных только после вызова метода SaveItemMetadata.

Справка по службам синхронизации

Следующие члены класса IReplicaMetadata упрощают реализацию методов службы синхронизации.

Методы IReplicaMetadata Описание

IReplicaMetadata::GetItemBatchVersions

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

IReplicaMetadata::GetFullEnumerationItemBatchVersions

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

IReplicaMetadata::GetChangeBatch

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

IReplicaMetadata::GetFilteredChangeBatch

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

IReplicaMetadata::GetFullEnumerationChangeBatch

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

Обнаружение удалений

Служба обнаружения удалений представляет собой набор методов интерфейса IReplicaMetadata, которые позволяют определить, какие из элементов были удалены из хранилища элементов и, соответственно, должны быть помечены в хранилище метаданных как удаленные.

Методы IReplicaMetadata Описание

IReplicaMetadata::ResetReportingWatermark

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

IReplicaMetadata::ReportLiveItemByIndexedFields

Сообщает, что элемент, указанный с помощью значения индексированного поля, является активным и не должен считаться удаленным.

IReplicaMetadata::ReportLiveItemByGlobalId

Сообщает, что указанный элемент активен и не должен считаться удаленным.

IReplicaMetadata::GetUnreportedItems

Возвращает список элементов, которые в данный момент не помечены как активные в хранилище метаданных и еще не помечены как удаленные.

IReplicaMetadata::GetUnreportedItemsByIndexedFields

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

Системные требования

Заголовок: Metastore.h

См. также

Основные положения

Компоненты по службе хранилища метаданных Sync Framework
Доступ к метаданным реплики
Взаимодействие с поставщиком
Обнаружение удаленных элементов