次の方法で共有


IReplicaMetadata2::GetFilteredItemBatchVersions

このレプリカに保存されている項目と変更単位の各バージョンが格納されている、フィルターされた変更バッチを取得します。これらの項目と変更単位は、別のプロバイダーから送信された変更バッチで参照されている項目と変更単位に一致します。

HRESULT GetFilteredItemBatchVersions(
  ISyncChangeBatch * pRemoteSyncChangeBatch,
  IChangeBatchCallback * pCallback,
  IEnumSyncChanges ** ppLocalVersionsEnum);

パラメーター

項目

定義

pRemoteSyncChangeBatch

[in] 別のプロバイダーからの変更バッチのうち、このレプリカに関連付けられている項目ストアに適用される変更バッチです。

pCallback

[in, unique] 項目をバッチに追加する必要があるかどうかを判断するために呼び出されるコールバック インターフェイスです。

ppLocalVersionsEnum

[out] このレプリカに保存されている項目と変更単位の各バージョンが格納されている、フィルター選択された変更バッチを返します。

戻り値

  • S_OK

  • E_POINTER

解説

このメソッドは、同期先プロバイダーのフィルターが変更されたときに同期プロバイダーが IKnowledgeSyncProvider::ProcessChangeBatch メソッドを実装するのに役立ちます。

変更適用元は、このメソッドから返される変更バッチのバージョンを使用して競合を検出します。

実装に関するメモ

このメソッドから返される変更バッチには、変更単位のエントリなど、pRemoteSyncChangeBatch のエントリごとに 1 つのエントリを含める必要があります。ただし、pCallback でエントリを含めないように示されている場合は除きます。項目が項目ストアに存在し、フィルターによって含められる場合、そのエントリには、このレプリカのバージョン情報が格納される必要があります。フィルターによって含められる項目が存在しない場合は、そのエントリのバージョンには 0 を格納し、SYNC_CHANGE_FLAG_DOES_NOT_EXIST フラグを設定する必要があります。

参照

リファレンス

IReplicaMetadata2 インターフェイス