Share via


파일 동기화 진행률 보고

응용 프로그램에서는 동기화 도중 발생하는 알림을 수신 등록하여 동기화 진행률을 추적할 수 있습니다.

관리 코드 FileSyncProvider 개체의 이벤트를 수신하는 처리기를 등록합니다. 이벤트의 예로는 파일 복사 진행률을 표시하기 위해 주기적으로 발생하는 CopyingFile 또는 파일 변경 내용이 적용되었을 때 발생하는 AppliedChange 등이 있습니다.

비관리 코드 IFileSyncProviderCallback 개체를 IFileSyncProvider::Initialize 메서드에 전달합니다. IFileSyncProviderCallback 메서드는 이벤트가 발생했을 때 호출됩니다. 이벤트의 예로는 파일 복사 진행률을 표시하기 위해 주기적으로 발생하는 IFileSyncProviderCallback::OnFileCopyProgress 또는 파일 변경 내용이 적용되었을 때 발생하는 IFileSyncProviderCallback::OnChangeApplied 등이 있습니다.

미리 보기 모드

응용 프로그램에서는 동기화를 시작하기 전에 PreviewMode 속성 값을 true로 설정하거나(관리 코드의 경우) IFileSyncProvider::SetPreviewMode 메서드에 TRUE를 전달하여(비관리 코드의 경우) 공급자를 미리 보기 모드로 설정할 수 있습니다. 미리 보기 모드에서 공급자는 일반적인 실제 동기화 세션과 같은 방식으로 변경 내용을 검색하고 이벤트를 발생시킵니다. 그러나 공급자는 변경 내용을 대상 복제본에 실제로 적용하지 않으며 AppliedChange 이벤트(관리 코드의 경우) 또는 IFileSyncProviderCallback::OnChangeApplied 이벤트(비관리 코드의 경우)를 전송하지 않습니다.

증분 진행률 표시

동기화 세션 동안 증분 진행률을 표시하려면 다음 절차를 따릅니다.

관리 코드

  1. ApplyingChange 이벤트 처리를 등록합니다.

  2. PreviewMode 속성 값을 true로 설정하여 공급자에서 미리 보기 모드를 사용합니다.

  3. 동기화를 실행하고 ApplyingChange가 발생한 총 횟수를 계산합니다.

  4. AppliedChange 이벤트 처리를 등록합니다.

  5. PreviewMode 속성 값을 false로 설정하여 공급자에서 미리 보기 모드를 해제합니다.

  6. 동기화를 실행합니다. AppliedChange가 발생하면 미리 보기 모드에서 동기화를 실행할 때 계산된 총 변경 내용 수와 비교하여 동기화 진행률을 증가시킬 수 있습니다.

비관리 코드

  1. IFileSyncProviderCallback::OnApplyingChange 콜백을 수신 등록합니다.

  2. IFileSyncProvider::SetPreviewMode 메서드에 TRUE를 전달하여 미리 보기 모드를 사용합니다.

  3. 동기화를 실행하고 OnApplyingChange가 호출된 총 횟수를 계산합니다.

  4. IFileSyncProviderCallback::OnChangeApplied 콜백을 수신 등록합니다.

  5. IFileSyncProvider::SetPreviewMode 메서드에 FALSE를 전달하여 미리 보기 모드를 해제합니다.

  6. 동기화를 실행합니다. OnChangeApplied가 호출되면 미리 보기 모드에서 동기화를 실행할 때 계산된 총 변경 내용 수와 비교하여 동기화 진행률을 증가시킬 수 있습니다.

참고 항목

참조

IFileSyncProviderCallback 인터페이스

기타 리소스

Sync Services for File Systems