GetFullEnumerationChangeBatch メソッド

派生クラスでオーバーライドされると、指定された下限以上の ID が付いている項目の項目メタデータが含まれた変更バッチを、完全な列挙の一部として取得します。

名前空間:  Microsoft.Synchronization.MetadataStorage
アセンブリ:  Microsoft.Synchronization.MetadataStorage (Microsoft.Synchronization.MetadataStorage.dll 内)

構文

'宣言
Public MustOverride Function GetFullEnumerationChangeBatch ( _
    batchSize As UInteger, _
    lowerEnumerationBound As SyncId, _
    destinationKnowledge As SyncKnowledge _
) As FullEnumerationChangeBatch
'使用
Dim instance As ReplicaMetadata
Dim batchSize As UInteger
Dim lowerEnumerationBound As SyncId
Dim destinationKnowledge As SyncKnowledge
Dim returnValue As FullEnumerationChangeBatch

returnValue = instance.GetFullEnumerationChangeBatch(batchSize, _
    lowerEnumerationBound, destinationKnowledge)
public abstract FullEnumerationChangeBatch GetFullEnumerationChangeBatch(
    uint batchSize,
    SyncId lowerEnumerationBound,
    SyncKnowledge destinationKnowledge
)
public:
virtual FullEnumerationChangeBatch^ GetFullEnumerationChangeBatch(
    unsigned int batchSize, 
    SyncId^ lowerEnumerationBound, 
    SyncKnowledge^ destinationKnowledge
) abstract
abstract GetFullEnumerationChangeBatch : 
        batchSize:uint32 * 
        lowerEnumerationBound:SyncId * 
        destinationKnowledge:SyncKnowledge -> FullEnumerationChangeBatch 
public abstract function GetFullEnumerationChangeBatch(
    batchSize : uint, 
    lowerEnumerationBound : SyncId, 
    destinationKnowledge : SyncKnowledge
) : FullEnumerationChangeBatch

パラメーター

戻り値

型 : Microsoft.Synchronization. . :: . .FullEnumerationChangeBatch
指定された下限以上の ID が付いている項目の項目メタデータが含まれた変更バッチを返します。

例外

例外 条件
ObjectDisposedException

オブジェクトが破棄されているか、正しく初期化されていません。

ArgumentOutOfRangeException

batchSize が 0 です。

ArgumentNullException

lowerEnumerationBound が null Nothing nullptr unit NULL 参照 (Visual Basic では Nothing) であるか、destinationKnowledge が null Nothing nullptr unit NULL 参照 (Visual Basic では Nothing) です。

説明

このメソッドを使用すると、同期プロバイダーは GetFullEnumerationChangeBatch メソッドを実装できるようになります。このメソッドは、忘れられたナレッジの復旧時に呼び出されます。

プロバイダーは、このメソッドを呼び出す前に、メタデータ ストア内のバージョンにローカルの変更 (削除など) がすべて反映されていることを確認する必要があります。これを行うには、メタデータを明示的にメンテナンスすることによって、項目を列挙し、そのメタデータを更新します。

SqlMetadataStore を使用することによって可能になるこのクラスの実装では、変更がグローバル ID の順で変更バッチに追加されます。

SqlMetadataStore を使用することによって可能になるこのクラスの実装では、destinationKnowledge に含まれていない、ID が lowerEnumerationBound より小さい項目もすべて返されます。

SqlMetadataStore を使用することによって可能になるこのクラスの実装では、送信する変更がなくなった場合に返される変更バッチで IsLastBatch が true に設定されます。

実装に関するメモ

このメソッドは、項目 ID が lowerEnumerationBound 以上の変更を項目 ID の順に列挙する必要があります。これにより、Sync Framework は、同期先プロバイダーのどの項目が同期元プロバイダーによって削除され、忘れられているかを特定できます。

このバッチの後で送信する変更がもうない場合は、返される変更バッチで IsLastBatch を true に設定する必要があります。そうしないと、次の変更バッチを取得するために、Sync Framework によって GetChangeBatch が再度呼び出されます。

項目変更に関するメタデータと共に項目データを送信するプロバイダーの場合は、destinationKnowledge を使用すると、項目データを送信する必要があるかどうかを判断できます。項目の変更が destinationKnowledge に含まれている場合は、項目データを送信する必要はありません。

参照

参照

ReplicaMetadataクラス

ReplicaMetadata メンバー

Microsoft.Synchronization.MetadataStorage 名前空間