ファイル同期の進行状況の報告
アプリケーションは、同期中に発生する通知の受信登録を行うことで、同期の進行状況を追跡できます。
マネージ コード : FileSyncProvider オブジェクトからイベント (たとえば、ファイルのコピー中に進行状況を示すために定期的に発生する CopyingFile や、ファイルの変更が適用されたときに発生する AppliedChange) を受信するためのハンドラーを登録します。
アンマネージ コード : IFileSyncProviderCallback オブジェクトを IFileSyncProvider::Initialize メソッドに渡します。IFileSyncProviderCallback メソッドは、イベント (たとえば、ファイルのコピー中に進行状況を示すために定期的に発生する IFileSyncProviderCallback::OnFileCopyProgress や、ファイルの変更が適用されたときに発生する IFileSyncProviderCallback::OnChangeApplied) が発生したときに呼び出されます。
プレビュー モード
アプリケーションは、プロバイダーをプレビュー モードに設定できます。そのためには、同期を開始する前に、PreviewMode プロパティの値を true に設定するか (マネージ コードの場合)、または TRUE を IFileSyncProvider::SetPreviewMode メソッドに渡します (アンマネージ コードの場合)。プレビュー モードでは、プロバイダーは、通常の同期セッションと同様に、変更を検出し、イベントを発生させます。ただし、プロバイダーは、実際に変更を同期先レプリカに適用することはせず、AppliedChange イベント (マネージ コードの場合) または IFileSyncProviderCallback::OnChangeApplied イベント (アンマネージ コードの場合) を発生させることもしません。
増分進行状況の表示
同期セッション中に増分進行状況を表示するには、次の手順を使用します。
マネージ コード
ApplyingChange イベントを処理するための登録を行います。
PreviewMode プロパティの値を true に設定して、プロバイダーのプレビュー モードを有効にします。
同期を実行し、ApplyingChange が発生した合計回数を数えます。
AppliedChange イベントを処理するための登録を行います。
PreviewMode プロパティの値を false に設定して、プロバイダーのプレビュー モードを無効にします。
同期を実行します。AppliedChange が発生すると、プレビュー モードで同期を実行したときに計算された変更の総数に近づくように、同期の進行状況を示す数値を増分させることができます。
アンマネージ コード
IFileSyncProviderCallback::OnApplyingChange コールバックを受信するための登録を行います。
TRUE を IFileSyncProvider::SetPreviewMode メソッドに渡して、プロバイダーのプレビュー モードを有効にします。
同期を実行し、OnApplyingChange が呼び出された合計回数を数えます。
IFileSyncProviderCallback::OnChangeApplied コールバックを受信するための登録を行います。
FALSE を IFileSyncProvider::SetPreviewMode メソッドに渡して、プロバイダーのプレビュー モードを無効にします。
同期を実行します。OnChangeApplied が呼び出されると、プレビュー モードで同期を実行したときに計算された変更の総数に近づくように、同期の進行状況を示す数値を増分させることができます。
参照
リファレンス
IFileSyncProviderCallback インターフェイス