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


Интерфейс ISqlSyncMetadataStore

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

interface ISqlSyncMetadataStore : ISyncMetadataStore2

Элементы

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

ISqlSyncMetadataStore::CreateStore

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

ISqlSyncMetadataStore::OpenStore

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

ISqlSyncMetadataStore::Dispose

Освобождает ресурсы, занятые объектом ISqlSyncMetadataStore.

Замечания

Служба хранилища метаданных предоставляет полную реализацию API службы хранилища метаданных. В этой реализации используется упрощенная база данных для хранения всех метаданных, необходимых для синхронизации, в одном файле базы данных в указанном каталоге файловой системы. Точкой входа в эту реализацию является объект ISqlSyncMetadataStore. Чтобы получить объект, реализующий этот интерфейс, передайте параметры CLSID_SyncMetadataStore и IID_ISqlSyncMetadataStore функции CoCreateInstance.

Использование API-интерфейсов, реализующих службы хранилища метаданных

  1. Создайте новое хранилище метаданных с помощью метода ISqlSyncMetadataStore::CreateStore или откройте существующее хранилище метаданных с помощью метода ISqlSyncMetadataStore::OpenStore.

  2. Создайте метаданные для указанной реплики с помощью метода ISyncMetadataStore::InitializeReplicaMetadata или откройте имеющиеся метаданные реплики с помощью метода ISyncMetadataStore::GetReplicaMetadata. Метод GetReplicaMetadata возвращает реализацию интерфейса IReplicaMetadata, которая может обращаться к метаданным реплики, находящимся в хранилище метаданных.

  3. Начните транзакцию в базе данных вызовом метода ISyncMetadataStore::BeginTransaction. Это позволяет гарантировать, что после вызова этого метода в базе данных либо сохранятся все сделанные изменения метаданных, либо не сохранится ни одно.

  4. Создайте новый элемент метаданных с помощью метода IReplicaMetadata::CreateNewItemMetadata или найдите метаданные отдельных элементов с помощью таких методов, как IReplicaMetadata::FindItemMetadataByGlobalId. Эти методы возвращают реализацию интерфейса IItemMetadata, который имеет доступ к метаданным элементов, находящимся в хранилище метаданных.

  5. Измените метаданные элемента и сохраните эти изменения, вызвав метод IReplicaMetadata::SaveItemMetadata.

  6. Зафиксируйте изменения в хранилище метаданных, вызвав метод ISyncMetadataStore::CommitTransaction, либо отмените изменения, вызвав метод ISyncMetadataStore::RollbackTransaction.

Данная реализация API предоставляет также методы объекта IReplicaMetadata, позволяющие обнаруживать элементы, удаленные из хранилища элементов. Например, метод IReplicaMetadata::GetUnreportedItems возвращает список элементов, которые существуют в хранилище метаданных, но не существуют в хранилище элементов. Затем поставщик может пометить элементы в этом списке для отметки полного удаления из хранилища метаданных.

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

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

См. также

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

Компоненты по службе хранилища метаданных Sync Framework
Приступая к работе с хранилищем метаданных