ISyncFullEnumerationChangeBatch2::AddMergeTombstoneMetadataToGroup

現在開いているグループに、指定されたマージ廃棄標識を追加します。

HRESULT AddMergeTombstoneMetadataToGroup(
  const BYTE * pbOwnerReplicaId, 
  const BYTE * pbWinnerItemId,
  const BYTE * pbItemId, 
  const SYNC_VERSION * pChangeVersion,
  const SYNC_VERSION * pCreationVersion, 
  DWORD dwWorkForChange,
  ISyncChangeBuilder ** ppChangeBuilder);

パラメーター

  • pbOwnerReplicaId
    [in] pChangeVersion および pCreationVersion が有効となっているレプリカのレプリカ ID です。ID の形式は、プロバイダーの ID_PARAMETERS 構造体によって指定された形式と一致する必要があります。
  • pbWinnerItemId
    [in] マージが行われた後の項目の ID です。これは優先される ID とも呼ばれます。ID の形式は、プロバイダーの ID_PARAMETERS 構造体によって指定された形式と一致する必要があります。
  • pbItemId
    [in] マージが行われる前の項目の ID です。これは優先されない ID とも呼ばれます。ID の形式は、プロバイダーの ID_PARAMETERS 構造体によって指定された形式と一致する必要があります。
  • pChangeVersion
    [in] この変更のバージョンです。
  • pCreationVersion
    [in] 項目の作成バージョンです。
  • dwWorkForChange
    [in] 変更の作業見積もりです。この値は、変更の適用時に、完了した作業をアプリケーションに報告するために使用されます。
  • ppChangeBuilder
    [in, out, unique] 変更単位の情報を変更へ追加するために使用できるオブジェクトを返します。

戻り値

  • S_OK

  • E_POINTER

  • SYNC_E_CHANGE_BATCH_IS_READ_ONLY (ISyncFullEnumerationChangeBatch2 オブジェクトが変更適用元か同期セッションに送信されている場合、またはオブジェクトが IProviderSyncServices::DeserializeFullEnumerationChangeBatch を使用して作成されている場合)

  • SYNC_E_INVALID_OPERATION (グループが開いていないか、空のグループが以前にバッチに追加されている場合)

  • SYNC_E_RANGE_OUT_OF_ORDER (順序付けられているグループが開いており、pbItemId が、これまでにグループに追加された項目の項目 ID よりも小さい値になっているか、グループが開いたときに指定された項目 ID よりも小さい値になっている場合)

解説

マージ廃棄標識は、競合している 2 つの項目をマージすることによって制約の競合が解決されるときに作成されます。制約の競合がマージによって解決されると、小さい方の項目 ID が優先される項目 ID として選択され、大きい方の項目 ID が優先されない項目 ID として選択されます。優先される項目 ID は、マージされた項目を識別するために使用されます。マージ廃棄標識は、優先されない項目 ID が同期コミュニティ内の優先される項目 ID と同じ項目を示すことを追跡します。マージ廃棄標識のメタデータは、削除された項目の廃棄標識のメタデータと同じですが、優先される項目 ID が付加されています。

参照

リファレンス

ISyncFullEnumerationChangeBatch2 インターフェイス

概念

制約の競合の検出および解決