GetFilteredLocalVersions メソッド
派生クラスでオーバーライドされると、このレプリカに格納されている項目および変更単位のバージョンが含まれた、フィルターされた変更バッチを取得します。これらの項目と変更単位は、他のプロバイダーから送信された変更バッチで参照されている項目と変更単位に対応します。
名前空間: Microsoft.Synchronization.MetadataStorage
アセンブリ: Microsoft.Synchronization.MetadataStorage (Microsoft.Synchronization.MetadataStorage.dll 内)
構文
'宣言
Public MustOverride Function GetFilteredLocalVersions ( _
sourceChanges As ChangeBatch, _
filterCallback As ReplicaMetadata..::..ItemFilterCallback _
) As IEnumerable(Of ItemChange)
'使用
Dim instance As ReplicaMetadata
Dim sourceChanges As ChangeBatch
Dim filterCallback As ReplicaMetadata..::..ItemFilterCallback
Dim returnValue As IEnumerable(Of ItemChange)
returnValue = instance.GetFilteredLocalVersions(sourceChanges, _
filterCallback)
public abstract IEnumerable<ItemChange> GetFilteredLocalVersions(
ChangeBatch sourceChanges,
ReplicaMetadata..::..ItemFilterCallback filterCallback
)
public:
virtual IEnumerable<ItemChange^>^ GetFilteredLocalVersions(
ChangeBatch^ sourceChanges,
ReplicaMetadata..::..ItemFilterCallback^ filterCallback
) abstract
abstract GetFilteredLocalVersions :
sourceChanges:ChangeBatch *
filterCallback:ReplicaMetadata..::..ItemFilterCallback -> IEnumerable<ItemChange>
public abstract function GetFilteredLocalVersions(
sourceChanges : ChangeBatch,
filterCallback : ReplicaMetadata..::..ItemFilterCallback
) : IEnumerable<ItemChange>
パラメーター
- sourceChanges
型 : Microsoft.Synchronization. . :: . .ChangeBatch
別のプロバイダーからの変更バッチのうち、このレプリカに関連付けられている項目ストアに適用される直前の変更バッチです。
- filterCallback
型 : Microsoft.Synchronization.MetadataStorage. . :: . .ReplicaMetadata. . :: . .ItemFilterCallback
項目をバッチに追加する必要があるかどうかを特定するために呼び出されるデリゲートです。
戻り値
型 : System.Collections.Generic. . :: . .IEnumerable< (Of < ( <'ItemChange> ) > ) >
このレプリカに格納されている項目および変更単位のバージョンのうち、他のプロバイダーからの変更バッチで参照された項目および変更単位に対応しているバージョンが含まれた、フィルターされた変更バッチです。
説明
同期先プロバイダー フィルターが変更された場合、このメソッドを使用すると、同期プロバイダーは ProcessChangeBatch メソッドを実装できるようになります。
変更適用元は、このメソッドから返される変更バッチのバージョンを使用して競合を検出します。
filterCallback デリゲートは、各項目がバッチに追加される前に呼び出されます。デリゲートが true を返す場合、項目はバッチに追加されます。それ以外の場合、項目はバッチに追加されません。
実装に関するメモ
このメソッドから返される変更バッチには、filterCallback でそのエントリを含めないことが示されている場合を除き、変更単位のエントリも含め、sourceChanges 内の項目ごとに 1 つのエントリが含まれている必要があります。項目が項目ストアに存在し、フィルターによって含められる場合、その項目エントリには、このレプリカのバージョン情報が含まれている必要があります。フィルターによって含められる項目が存在しない場合、その項目のバージョンは SyncVersion.UnknownVersion に設定し、その項目の ItemChange.ChangeKind プロパティは UnknownItem に設定する必要があります。