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.