ISyncMetadataStore::GetReplicaMetadata
获取表示特定副本的元数据的 IReplicaMetadata 对象。
HRESULT GetReplicaMetadata(
BYTE * pbReplicaId,
ID_PARAMETERS * pIdParameters,
IReplicaMetadata ** ppReplicaMetadata);
参数
参数 |
说明 |
pbReplicaId |
[in] 将检索其副本元数据的副本 ID。 |
pIdParameters |
[in] 提供程序的 ID 格式架构。 |
ppReplicaMetadata |
[out] 返回副本的元数据。 |
返回值
S_OK。
E_POINTER。
E_OUTOFMEMORY。
如果尚未打开元数据存储区,则返回值为 E_UNEXPECTED。
如果指定副本 ID 的元数据不存在,则返回值为 SYNC_E_METADATA_REPLICA_NOT_FOUND。
如果 ID 格式架构与初始化副本元数据时指定的 ID 格式架构不一致,则返回值为 SYNC_E_IDFORMATMISMATCH。
如果此副本元数据对象的一个实例已处于活动状态,则返回值为 SYNC_E_METADATA_REPLICA_IN_USE。
备注
为了阻止应用程序对元数据存储区进行并发冲突更新,不允许一个特定副本 ID 有多个未完成的 IReplicaMetadata 实例。应用程序可以从多个线程访问同一个 IReplicaMetadata 对象,但多个进程不能同时访问同一副本元数据。如果特定副本 ID 已经存在一个未完成的 IReplicaMetadata 实例,则此方法返回 SYNC_E_METADATA_REPLICA_IN_USE。