다음을 통해 공유


파일 변경 내용 검색

Sync Services for File Systems에서는 동기화 범위에 있는 파일 및 폴더의 변경 내용을 자동으로 검색합니다.

암시적 변경 내용 검색과 명시적 변경 내용 검색 비교

동기화 세션이 시작되기 전에 변경 내용 검색을 수행해야 합니다. 기본적으로 변경 내용 검색은 Sync Framework에서 공급자에 대해 GetChangeBatch 또는 ProcessChangeBatch를 처음 호출할 때 자동으로 수행됩니다.

관리 코드 응용 프로그램에서 공급자를 초기화할 때 ExplicitDetectChanges 플래그를 지정한 경우 응용 프로그램에서는 세션을 시작하기 전에 DetectChanges 메서드를 명시적으로 호출해야 합니다.

비관리 코드 응용 프로그램에서 공급자를 초기화할 때 FILESYNC_INIT_FLAG_DISABLE_IMPLICIT_DETECT_CHANGES 플래그를 지정한 경우 응용 프로그램에서는 세션을 시작하기 전에 IFileSyncProvider::DetectChanges 메서드를 명시적으로 호출해야 합니다.

기본 제공 변경 내용 검색 알고리즘

Sync Services for File Systems에는 동기화 범위에 있는 파일 및 폴더의 변경 내용을 검색하는 기본 제공 알고리즘이 있습니다.

다음 속성이 하나라도 변경되면 변경 내용이 보고됩니다.

  • 파일의 마지막 수정 시간

  • 해시를 사용하는 경우 파일에 대해 계산된 해시 값

  • 파일 크기

  • 파일 또는 폴더 이름. 대/소문자를 구분하여 확인합니다.

  • 공급자에서 처리하는 파일 특성 중 하나

이전에 알려진 파일과 작성 시간, 크기 및 해시 값(해시를 사용하는 경우)이 동일하지만 파일의 이름이나 경로가 다른 경우 파일 이동 또는 이름 바꾸기가 보고됩니다. 이러한 조건에 맞는 파일이 둘 이상 발견되면 원래 파일이 삭제되고 새 파일이 만들어진 것으로 간주됩니다.

Sync Services에서는 폴더 이동 또는 이름 바꾸기를 이전 폴더가 삭제되고 새 폴더가 만들어진 것으로 간주합니다. 이러한 폴더의 파일은 이동한 것으로 보고됩니다. 따라서 이러한 경우 일반적으로 파일 데이터를 다시 전송할 필요가 없습니다.

변경 내용 검색의 해시 값 계산

응용 프로그램에서 공급자를 초기화할 때 CompareFileStreams 플래그(관리 코드의 경우) 또는 FILESYNC_INIT_FLAG_USE_HASHING 플래그(비관리 코드의 경우)를 지정한 경우 공급자는 파일 스트림의 모든 내용을 사용하여 각 파일의 해시 값을 계산합니다. 그런 다음 공급자에서 이러한 해시 값을 비교하므로 성능은 약간 저하되지만 변경 내용을 보다 정밀하게 검색할 수 있습니다.

참고 항목

참조

IFileSyncProvider 인터페이스
FILESYNC_INIT_FLAGS 열거형
FileSyncProvider
FileSyncOptions

기타 리소스

Sync Services for File Systems