ISyncMetadataStore::GetReplicaMetadata

获取表示特定副本的元数据的 IReplicaMetadata 对象。

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

参数

  • pbReplicaId
    [in] 将检索其副本元数据的副本 ID。
  • idParameters
    [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。

请参阅

参考

ISyncMetadataStore 接口