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 を返します。