ファイル同期の進行状況の報告

アプリケーションは、同期中に発生する通知の受信登録を行うことで、同期の進行状況を追跡できます。

マネージ コード : FileSyncProvider オブジェクトからイベント (たとえば、ファイルのコピー中に進行状況を示すために定期的に発生する CopyingFile や、ファイルの変更が適用されたときに発生する AppliedChange) を受信するためのハンドラーを登録します。

アンマネージ コード : IFileSyncProviderCallback オブジェクトを IFileSyncProvider::Initialize メソッドに渡します。IFileSyncProviderCallback メソッドは、イベント (たとえば、ファイルのコピー中に進行状況を示すために定期的に発生する IFileSyncProviderCallback::OnFileCopyProgress や、ファイルの変更が適用されたときに発生する IFileSyncProviderCallback::OnChangeApplied) が発生したときに呼び出されます。

プレビュー モード

アプリケーションは、プロバイダーをプレビュー モードに設定できます。そのためには、同期を開始する前に、PreviewMode プロパティの値を true に設定するか (マネージ コードの場合)、または TRUEIFileSyncProvider::SetPreviewMode メソッドに渡します (アンマネージ コードの場合)。プレビュー モードでは、プロバイダーは、通常の同期セッションと同様に、変更を検出し、イベントを発生させます。ただし、プロバイダーは、実際に変更を同期先レプリカに適用することはせず、AppliedChange イベント (マネージ コードの場合) または IFileSyncProviderCallback::OnChangeApplied イベント (アンマネージ コードの場合) を発生させることもしません。

増分進行状況の表示

同期セッション中に増分進行状況を表示するには、次の手順を使用します。

マネージ コード

  1. ApplyingChange イベントを処理するための登録を行います。

  2. PreviewMode プロパティの値を true に設定して、プロバイダーのプレビュー モードを有効にします。

  3. 同期を実行し、ApplyingChange が発生した合計回数を数えます。

  4. AppliedChange イベントを処理するための登録を行います。

  5. PreviewMode プロパティの値を false に設定して、プロバイダーのプレビュー モードを無効にします。

  6. 同期を実行します。AppliedChange が発生すると、プレビュー モードで同期を実行したときに計算された変更の総数に近づくように、同期の進行状況を示す数値を増分させることができます。

アンマネージ コード

  1. IFileSyncProviderCallback::OnApplyingChange コールバックを受信するための登録を行います。

  2. TRUEIFileSyncProvider::SetPreviewMode メソッドに渡して、プロバイダーのプレビュー モードを有効にします。

  3. 同期を実行し、OnApplyingChange が呼び出された合計回数を数えます。

  4. IFileSyncProviderCallback::OnChangeApplied コールバックを受信するための登録を行います。

  5. FALSEIFileSyncProvider::SetPreviewMode メソッドに渡して、プロバイダーのプレビュー モードを無効にします。

  6. 同期を実行します。OnChangeApplied が呼び出されると、プレビュー モードで同期を実行したときに計算された変更の総数に近づくように、同期の進行状況を示す数値を増分させることができます。

参照

リファレンス

IFileSyncProviderCallback インターフェイス

概念

ファイルの同期