다음을 통해 공유


CF_CALLBACK_TYPE 열거형(cfapi.h)

자리 표시자 파일 또는 폴더에 사용되는 다양한 유형의 콜백을 포함합니다.

Syntax

typedef enum CF_CALLBACK_TYPE {
  CF_CALLBACK_TYPE_FETCH_DATA,
  CF_CALLBACK_TYPE_VALIDATE_DATA,
  CF_CALLBACK_TYPE_CANCEL_FETCH_DATA,
  CF_CALLBACK_TYPE_FETCH_PLACEHOLDERS,
  CF_CALLBACK_TYPE_CANCEL_FETCH_PLACEHOLDERS,
  CF_CALLBACK_TYPE_NOTIFY_FILE_OPEN_COMPLETION,
  CF_CALLBACK_TYPE_NOTIFY_FILE_CLOSE_COMPLETION,
  CF_CALLBACK_TYPE_NOTIFY_DEHYDRATE,
  CF_CALLBACK_TYPE_NOTIFY_DEHYDRATE_COMPLETION,
  CF_CALLBACK_TYPE_NOTIFY_DELETE,
  CF_CALLBACK_TYPE_NOTIFY_DELETE_COMPLETION,
  CF_CALLBACK_TYPE_NOTIFY_RENAME,
  CF_CALLBACK_TYPE_NOTIFY_RENAME_COMPLETION,
  CF_CALLBACK_TYPE_NONE = 0xffffffff
} ;

상수

 
CF_CALLBACK_TYPE_FETCH_DATA
이 콜백은 자리 표시자에서 I/O 요청 또는 명시적 수화 요청을 충족하는 데 필요한 파일 데이터의 범위를 동기화 공급자에게 요청하는 데 사용됩니다. 동기화 공급자가 동기화 루트 등록 시간에 ALWAYS_FULL않는 하이드레이션 정책을 지정하는 경우 이 콜백을 구현해야 합니다.
CF_CALLBACK_TYPE_VALIDATE_DATA
이 콜백은 동기화 공급자에게 이전 CF_OPERATION_TYPE_TRANSFER_DATA 작업에서 디스크에 이미 있는 지정된 범위의 파일 데이터가 유효하므로 플랫폼에서 사용자 I/O 요청을 충족하는 데 사용할 수 있음을 승인하도록 요청하는 데 사용됩니다. 이 콜백의 구현은 동기화 공급자가 동기화 루트 등록 시간에 VALIDATION_REQUIRED 수화 정책 한정자를 지정하는 경우에만 필요합니다.
CF_CALLBACK_TYPE_CANCEL_FETCH_DATA
이 콜백은 일반적으로 원래 요청이 취소되었기 때문에 동기화 공급자에게 파일 데이터의 범위가 더 이상 필요하지 않음을 알리는 데 사용됩니다. 이렇게 하면 동기화 공급자가 데이터를 가져오는 데 소요되는 작업을 중지할 수 있습니다(미해결 네트워크 요청 취소 등). 이 콜백의 구현은 선택 사항입니다.
CF_CALLBACK_TYPE_FETCH_PLACEHOLDERS
이 콜백은 디렉터리 쿼리 작업 또는 디렉터리 아래에서 파일을 열려는 시도를 충족하기 위해 자리 표시자 디렉터리의 내용에 대한 정보를 제공하도록 동기화 공급자에게 요청하는 데 사용됩니다. 동기화 공급자가 동기화 루트 등록 시간에 CF_POPULATION_POLICY_ALWAYS_FULL 이외의 정책을 지정하는 경우에만 이 콜백을 구현해야 합니다.
CF_CALLBACK_TYPE_CANCEL_FETCH_PLACEHOLDERS
이 콜백은 일반적으로 원래 요청이 취소되었기 때문에 자리 표시자 디렉터리의 콘텐츠가 더 이상 필요하지 않음을 동기화 공급자에게 알리는 데 사용됩니다. 이렇게 하면 동기화 공급자가 콘텐츠를 가져오는 데 소요되는 작업을 중지할 수 있습니다(미해결 네트워크 요청 취소 등). 이 콜백의 구현은 선택 사항입니다.
CF_CALLBACK_TYPE_NOTIFY_FILE_OPEN_COMPLETION
이 콜백은 동기화 공급자에게 동기화 루트 중 하나에 있는 자리 표시자가 읽기/쓰기/삭제 액세스를 위해 성공적으로 열렸다는 것을 알리는 데 사용됩니다. 열기를 수행하는 사용자 애플리케이션은 차단되지 않습니다. 동기화 공급자의 응답이 필요하지 않습니다. 이 알림은 디렉터리에 적용되지 않습니다. 이 콜백의 구현은 선택 사항입니다.
CF_CALLBACK_TYPE_NOTIFY_FILE_CLOSE_COMPLETION
이 콜백은 이전에 읽기/쓰기/삭제 액세스를 위해 연 동기화 루트 중 하나 아래의 자리 표시자가 이제 닫혀 있음을 동기화 공급자에게 알리는 데 사용됩니다. 닫기를 수행하는 사용자 애플리케이션이 차단되지 않습니다. 동기화 공급자의 응답이 필요하지 않습니다. 이 알림은 디렉터리에 적용되지 않습니다. 이 콜백의 구현은 선택 사항입니다.
CF_CALLBACK_TYPE_NOTIFY_DEHYDRATE
이 콜백은 동기화 공급자에게 동기화 루트 중 하나의 자리 표시자가 탈수될 것임을 알리는 데 사용됩니다. 탈수를 수행하는 사용자 애플리케이션이 차단됩니다. 동기화 공급자의 응답이 필요합니다. 이 콜백의 구현은 선택 사항입니다.
CF_CALLBACK_TYPE_NOTIFY_DEHYDRATE_COMPLETION
이 콜백은 동기화 루트 중 하나에서 자리 표시자가 성공적으로 탈수되었음을 동기화 공급자에게 알리는 데 사용됩니다. 탈수를 수행하는 사용자 애플리케이션은 차단되지 않습니다. 동기화 공급자의 응답이 필요하지 않습니다. 이 콜백의 구현은 선택 사항입니다.
CF_CALLBACK_TYPE_NOTIFY_DELETE
이 콜백은 동기화 루트 중 하나에서 자리 표시자가 삭제될 예정임을 동기화 공급자에게 알리는 데 사용됩니다. 삭제를 수행하는 사용자 애플리케이션이 차단됩니다. 동기화 공급자의 응답이 필요합니다. 이 콜백의 구현은 선택 사항입니다.
CF_CALLBACK_TYPE_NOTIFY_DELETE_COMPLETION
이 콜백은 동기화 루트 중 하나에서 자리 표시자가 성공적으로 삭제되었음을 동기화 공급자에게 알리는 데 사용됩니다. 삭제를 수행하는 사용자 애플리케이션은 차단되지 않습니다. 동기화 공급자의 응답이 필요하지 않습니다. 이 콜백의 구현은 선택 사항입니다.
CF_CALLBACK_TYPE_NOTIFY_RENAME
이 콜백은 동기화 루트 중 하나에 있는 자리 표시자의 이름이 변경되거나 이동될 예정임을 동기화 공급자에게 알리는 데 사용됩니다. 이름 바꾸기/이동을 수행하는 사용자 애플리케이션이 차단됩니다. 동기화 공급자의 응답이 필요합니다. 이 콜백의 구현은 선택 사항입니다.
CF_CALLBACK_TYPE_NOTIFY_RENAME_COMPLETION
이 콜백은 동기화 루트 중 하나에서 자리 표시자의 이름이 성공적으로 변경되었거나 이동되었음을 동기화 공급자에게 알리는 데 사용됩니다. 이름 바꾸기/이동을 수행하는 사용자 애플리케이션은 차단되지 않습니다. 동기화 공급자의 응답이 필요하지 않습니다. 이 콜백의 구현은 선택 사항입니다.
CF_CALLBACK_TYPE_NONE
값: 0xffffffff
콜백 형식이 없습니다.

설명

라이브러리에서 제공하는 API가 아니라 플랫폼의 요청을 서비스하기 위해 동기화 공급자가 구현해야 하는 콜백입니다. 필요에 따라 플랫폼은 동기화 공급자 프로세스 내에서 실행되는 라이브러리 instance 적절한 콜백 루틴을 호출하도록 요청합니다.

콜백 루틴은 임의의 스레드(스레드 풀의 일부)에서 호출됩니다. 여러 콜백은 서로 다른 스레드에서 동시에 발생할 수 있으며, 이 작업을 안정적으로 만들기 위해 필요한 동기화를 구현하는 것은 동기화 공급자 코드의 책임입니다. 모든 콜백은 비동기적입니다. 콜백을 트리거하는 비동기 사용자 요청이 보류되고 컨트롤이 사용자 애플리케이션에 반환됩니다.

모든 콜백 요청에는 고정된 60초 시간 제한이 있습니다. 동기화 공급자의 보류 중인 모든 요청에 대한 유효한 작업은 보류 중인 모든 요청의 타이머를 다시 설정합니다.

모든 콜백 함수에는 두 개의 인수인 CF_CALLBACK_INFO 구조체와 CF_CALLBACK_PARAMETERS 구조체가 있는 동일한 프로토타입이 있습니다.

콜백 루틴에는 반환 값이 없습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10 버전 1709 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2016 [데스크톱 앱만 해당]
머리글 cfapi.h

추가 정보

CF_CALLBACK_INFO

CF_CALLBACK_PARAMETERS