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


ISyncMetadataStore::GetReplicaMetadata

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

HRESULT GetReplicaMetadata(
  BYTE * pbReplicaId,
  ID_PARAMETERS * pIdParameters,
  IReplicaMetadata ** ppReplicaMetadata);

Параметры

Параметр

Описание

pbReplicaId

[in] Идентификатор реплики, для которой будут получены метаданные.

pIdParameters

[in] Схема формата идентификатора поставщика.

ppReplicaMetadata

[out] Возвращает метаданные для реплики.

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

  • S_OK.

  • E_POINTER.

  • E_OUTOFMEMORY.

  • E_UNEXPECTED (если хранилище метаданных еще не открыто).

  • SYNC_E_METADATA_REPLICA_NOT_FOUND (если хранилище метаданных не существует для реплики с указанным идентификатором).

  • SYNC_E_IDFORMATMISMATCH (если схема формата идентификатора не совпадает со схемой формата идентификатора, заданной в момент инициализации метаданных реплики).

  • SYNC_E_METADATA_REPLICA_IN_USE (если уже активен экземпляр этого объекта метаданных реплики).

Замечания

Чтобы избежать ситуации, когда приложения одновременно выполняют конфликтующие операции обновления в хранилище метаданных, для одного идентификатора реплики не допускается наличие нескольких необработанных экземпляров объекта IReplicaMetadata. Приложения могут получать доступ к одному и тому же объекту IReplicaMetadata из нескольких потоков, но несколько процессов не могут получить одновременный доступ к одним и тем же метаданным реплики. Если необработанный экземпляр объекта IReplicaMetadata для конкретного идентификатора реплики уже существует, то этот метод возвращает значение SYNC_E_METADATA_REPLICA_IN_USE.

См. также

Справочник

Интерфейс ISyncMetadataStore