Share via


CF_OPERATION_PARAMETERS 구조체(cfapi.h)

자리 표시자 파일 또는 폴더에 대한 작업의 자세한 매개 변수입니다. 이 구조에 제공된 데이터는 작업의 CF_OPERATION_TYPE 관련이 있습니다.

구문

typedef struct CF_OPERATION_PARAMETERS {
  ULONG ParamSize;
  union {
    struct {
      CF_OPERATION_TRANSFER_DATA_FLAGS Flags;
      NTSTATUS                         CompletionStatus;
      LPCVOID                          Buffer;
      LARGE_INTEGER                    Offset;
      LARGE_INTEGER                    Length;
    } TransferData;
    struct {
      CF_OPERATION_RETRIEVE_DATA_FLAGS Flags;
      LPVOID                           Buffer;
      LARGE_INTEGER                    Offset;
      LARGE_INTEGER                    Length;
      LARGE_INTEGER                    ReturnedLength;
    } RetrieveData;
    struct {
      CF_OPERATION_ACK_DATA_FLAGS Flags;
      NTSTATUS                    CompletionStatus;
      LARGE_INTEGER               Offset;
      LARGE_INTEGER               Length;
    } AckData;
    struct {
      CF_OPERATION_RESTART_HYDRATION_FLAGS Flags;
      const CF_FS_METADATA                 *FsMetadata;
      LPCVOID                              FileIdentity;
      DWORD                                FileIdentityLength;
    } RestartHydration;
    struct {
      CF_OPERATION_TRANSFER_PLACEHOLDERS_FLAGS Flags;
      NTSTATUS                                 CompletionStatus;
      LARGE_INTEGER                            PlaceholderTotalCount;
      CF_PLACEHOLDER_CREATE_INFO               *PlaceholderArray;
      DWORD                                    PlaceholderCount;
      DWORD                                    EntriesProcessed;
    } TransferPlaceholders;
    struct {
      CF_OPERATION_ACK_DEHYDRATE_FLAGS Flags;
      NTSTATUS                         CompletionStatus;
      LPCVOID                          FileIdentity;
      DWORD                            FileIdentityLength;
    } AckDehydrate;
    struct {
      CF_OPERATION_ACK_RENAME_FLAGS Flags;
      NTSTATUS                      CompletionStatus;
    } AckRename;
    struct {
      CF_OPERATION_ACK_DELETE_FLAGS Flags;
      NTSTATUS                      CompletionStatus;
    } AckDelete;
  } DUMMYUNIONNAME;
} CF_OPERATION_PARAMETERS;

멤버

ParamSize

DUMMYUNIONNAME

DUMMYUNIONNAME.TransferData

동기화 공급자는 자리 표시자 파일을 수화하기 위해 TRANSFER_DATA 수행합니다. 이 작업은 FETCH_DATA 콜백, VALIDATE_DATA콜백 에 대한 응답 또는 콜백 컨텍스트 외부의 선제 백그라운드 수화 작업의 일부로 수행할 수 있습니다.

이 API는 ALWAYS_FULL 미만의 하이드레이션 정책을 지원하는 동기화 공급자에만 적용됩니다. 그렇지 않으면 ERROR_CLOUD_FILE_INVALID_REQUEST 작업이 실패합니다.

동기화 공급자는 TRANSFER_DATA 작업을 수행할 파일에 대한 WRITE_DATA 또는 WRITE_DAC 액세스 권한이 있어야 합니다. 그렇지 않으면 작업이 ERROR_CLOUD_FILE_ACCESS_DENIED 함께 실패합니다.

이 작업을 수행하려면 다음을 수행합니다.

  • OpInfo.TypeCF_OPERATION_TYPE_TRANSFER_DATA 설정해야 합니다.
  • OpParams.ParamSizeOpParams.TransferData 의 정확한 크기와 OpParams.TransferData의 오프셋으로 설정해야 합니다.
  • OpParams.TransferData.FlagsCF_OPERATION_TRANSFER_DATA_FLAG_NONE 설정해야 합니다.
  • 동기화 공급자가 자리 표시자 파일로 데이터를 전송하려는 경우 OpParams.TransferData.CompletionStatusSTATUS_SUCCESS 설정해야 합니다. 동기화 공급자가 어떤 이유로든 수화 요청을 처리하지 못하고 수분을 다시 시작하지 않으려면 CompletionStatus에서 STATUS_CLOUD_FILE_* 상태 설정해야 합니다. STATUS_SUCCESS 제외한 STATUS_CLOUD_FILE_* 범위 외부에서 반환되는 모든 상태 코드는 플랫폼에서 STATUS_CLOUD_FILE_UNSUCCESSFUL 변환됩니다.
  • OpParams.TransferData.CompletionStatusSTATUS_SUCCESSOpParams.TransferData.Length 바이트 이상이어야 하는 경우 OpParams.TransferData.Buffer는 유효한 사용자 모드 버퍼를 가리킵니다. 그렇지 않으면 버퍼 필드가 무시됩니다.
  • OpParams.TransferData.OffsetOpParams.TransferData.Length 는 동기화 공급자가 데이터를 전송하는 자리 표시자의 범위를 설명합니다. 동기화 공급자가 요청된 모든 데이터를 한 번의 샷으로 반환할 필요는 없습니다. 동기화 공급자가 요청된 것보다 더 많은 데이터를 반환하는 것도 괜찮습니다. 예를 들어 동기화 공급자는 성능 또는 기타 이유로 과도하게 읽기를 결정할 수 있습니다. 동기화 공급자는 동일한 FETCH_DATA 콜백에 대한 응답으로 여러 TRANSFER_DATA 작업을 반복적으로 수행할 수도 있습니다. 유일한 요구 사항은 설명된 범위가 논리 파일 크기(EoF)로 끝나지 않는 한 오프셋과 길이가 모두 4KB로 정렬된다는 것입니다. 이 경우 결과 범위가 논리 파일 크기 이상으로 끝나는 한 길이가 4KB로 정렬되지 않아도 됩니다.

작업이 완료되면 다음을 수행합니다.

  • 동기화 공급자가 동기화 루트 등록 시간에 VALIDATION_REQUIRED 지정하지 않는 경우

성공적인 전송 사례에서 보류 중인 사용자 IO는 전송 결과로 필요한 모든 바이트를 받은 자리 표시자 파일 n을 요청합니다. 그렇지 않으면 불완전한 사용자 IO 요청이 최신 수화 상태를 반영하도록 업데이트됩니다. 전송에 실패한 경우 오프셋 및 길이에 설명된 범위와 겹치는 자리 표시자 파일의 보류 중인 사용자 IO 요청은 OpParams.TransferData.CompletionStatus에서 실패합니다.

동기화 공급자가 동기화 루트 등록 시간에 VALIDATION_REQUIRED 지정하는 경우 ACK_DATA 작업을 통해 동기화 공급자가 범위의 데이터를 긍정적으로 승인할 때까지 플랫폼에서 더 이상 처리를 수행하지 않습니다.

DUMMYUNIONNAME.TransferData.Flags

데이터 전송을 위한 플래그입니다. CF_OPERATION_TRANSFER_DATA_FLAG_NONE 설정해야 합니다. 자세한 내용은 CF_OPERATION_TRANSFER_DATA_FLAGS 참조하세요.

DUMMYUNIONNAME.TransferData.CompletionStatus

데이터 전송 상태입니다. 동기화 공급자가 자리 표시자 파일로 데이터를 전송하려는 경우 STATUS_SUCCESS 설정해야 합니다. 동기화 공급자가 어떤 이유로든 수화 요청을 처리하지 못하고 수분을 다시 시작하지 않으려면 CompletionStatus에서 STATUS_CLOUD_FILE_* 상태 설정해야 합니다. STATUS_SUCCESS 제외한 STATUS_CLOUD_FILE_* 범위 외부에서 반환되는 모든 상태 코드는 플랫폼에서 STATUS_CLOUD_FILE_UNSUCCESSFUL 변환됩니다.

DUMMYUNIONNAME.TransferData.Buffer

유효한 사용자 모드 버퍼입니다. CompletionStatusSTATUS_SUCCESS 길이 바이트 이상이어야 하는 경우 유효한 사용자 모드 버퍼를 가리킬 수 있습니다. 그렇지 않으면 버퍼 필드가 무시됩니다.

DUMMYUNIONNAME.TransferData.Offset

데이터가 전송되는 자리 표시자의 범위를 설명하기 위해 Length 와 함께 사용되는 오프셋입니다. 동기화 공급자가 데이터를 전송하는 자리 표시자의 범위에 대해 설명합니다. 동기화 공급자가 요청된 모든 데이터를 한 번의 샷으로 반환할 필요는 없습니다. 동기화 공급자가 요청된 것보다 더 많은 데이터를 반환하는 것도 괜찮습니다. 예를 들어 동기화 공급자는 성능 또는 기타 이유로 과도하게 읽기를 결정할 수 있습니다. 동기화 공급자는 동일한 FETCH_DATA 콜백에 대한 응답으로 여러 TRANSFER_DATA 작업을 반복적으로 수행할 수도 있습니다. 오프셋 은 4KB로 정렬되어야 합니다.

DUMMYUNIONNAME.TransferData.Length

버퍼길이(바이트)입니다. 설명된 범위가 논리 파일 크기(EoF)로 끝나지 않는 한 길이는 4KB여야 합니다. 이 경우 결과 범위가 논리 파일 크기 이상으로 끝나는 한 Length 는 4KB로 정렬될 필요가 없습니다. CompletionStatusSTATUS_SUCCESS 않더라도 이 필드는 유효한 값으로 설정해야 합니다.

DUMMYUNIONNAME.RetrieveData

동기화 공급자는 자리 표시자에 이전에 전송된 데이터의 무결성의 유효성을 검사하기 위해 자리 표시자 수화의 일부로 RETRIEVE_DATA 작업을 수행합니다. 이 작업은 FETCH_DATA 콜백, VALIDATE_DATA콜백 에 대한 응답 또는 콜백 컨텍스트 외부의 선제 백그라운드 수화 작업의 일부로 수행할 수 있습니다.

이 API는 ALWAYS_FULL 미만의 하이드레이션 정책을 지원하는 동기화 공급자에만 적용됩니다. 그렇지 않으면 STATUS_CLOUD_FILE_NOT_SUPPORTED 작업이 실패합니다.

동기화 공급자는 이 작업을 수행하기 위해 동기화 루트 등록 시간에 VALIDATE_REQUIRED 수화 정책 한정자를 지정해야 합니다. 그렇지 않으면 STATUS_CLOUD_FILE_NOT_SUPPORTED 작업이 실패합니다.

동기화 공급자는 RETRIEVE_DATA 작업을 수행할 파일에 대한 READ_DATA 또는 WRITE_DAC 액세스 권한이 있어야 합니다. 그렇지 않으면 STATUS_CLOUD_FILE_ACCESS_DENIED 작업이 실패합니다.

이 작업을 수행하려면 다음을 수행합니다.

  • OpInfo.TypeCF_OPERATION_TYPE_RETRIEVE_DATA 설정해야 합니다.
  • OpParams.ParamSizeOpParams.RetrieveData 의 정확한 크기와 OpParams.RetrieveData의 오프셋으로 설정해야 합니다.
  • OpParams.RetrieveData.FlagsCF_OPERATION_RETRIEVE_DATA_FLAG_NONE 설정해야 합니다.
  • OpParams.RetrieveData.Buffer 는 유효한 사용자 모드 버퍼를 가리키고 OpParams.RetrieveData.Length 바이트 이상이어야 합니다. 작업이 성공적으로 완료되면 TRANSFER_DATA 통해 이전에 자리 표시자로 전송된 데이터를 받습니다.
  • OpParams.RetrieveData.OffsetOpParams.RetrieveData.Length 는 동기화 공급자가 데이터를 검색하는 자리 표시자의 범위를 설명합니다. 요청되는 범위는 RETRIEVE_DATA 작업 전에 TRANSFER_DATA 작업에 의해 완전히 수화되어야 합니다. 그렇지 않으면 작업이STATUS_CLOUD_FILE_INVALID_REQUEST 실패합니다. 설명된 범위가 논리 파일 크기(EoF)로 끝나지 않는 한 오프셋과 길이는 모두 4KB로 정렬됩니다. 이 경우 길이는 논리 파일 크기 이상으로 끝나는 한 4KB로 정렬할 필요가 없습니다.
  • OpParams.RetrieveData.ReturnedLength 는 작업이 성공적으로 완료되면 검색된 실제 바이트 수를 받습니다.

DUMMYUNIONNAME.RetrieveData.Flags

데이터를 검색하기 위한 플래그입니다. CF_OPERATION_RETRIEVE_DATA_FLAG_NONE 설정해야 합니다. 자세한 내용은 CF_OPERATION_RETRIEVE_DATA_FLAGS 참조하세요.

DUMMYUNIONNAME.RetrieveData.Buffer

유효한 사용자 모드 버퍼를 가리키고 길이 바이트 이상이어야 합니다. 작업이 성공적으로 완료되면 TRANSFER_DATA 통해 이전에 자리 표시자로 전송된 데이터를 받습니다.

DUMMYUNIONNAME.RetrieveData.Offset

자리 표시자에서 검색된 데이터 범위를 설명하기 위해 Length 와 함께 사용되는 오프셋입니다. 동기화 공급자가 데이터를 검색하는 자리 표시자의 범위에 대해 설명합니다. 요청되는 범위는 RETRIEVE_DATA 작업 전에 TRANSFER_DATA 작업에 의해 완전히 수화되어야 합니다. 그렇지 않으면 작업이STATUS_CLOUD_FILE_INVALID_REQUEST 실패합니다. 오프셋 은 4KB로 정렬되어야 합니다.

DUMMYUNIONNAME.RetrieveData.Length

버퍼의 길이(바이트)입니다. 설명된 범위가 논리 파일 크기(EoF)로 끝나지 않는 한 4KB로 정렬됩니다. 이 경우 길이 는 논리 파일 크기 이상으로 끝나는 한 4KB로 정렬할 필요가 없습니다.

DUMMYUNIONNAME.RetrieveData.ReturnedLength

작업이 성공적으로 완료될 때 검색된 바이트 수입니다.

DUMMYUNIONNAME.AckData

동기화 공급자는 이전에 플랫폼으로 전송된 데이터의 무결성을 검사한 후 자리 표시자 수화의 일부로 ACK_DATA 작업을 수행합니다. 이 작업은 FETCH_DATA 콜백, VALIDATE_DATA콜백 에 대한 응답 또는 콜백 컨텍스트 외부의 선제 백그라운드 수화 작업의 일부로 수행할 수 있습니다.

이 API는 ALWAYS_FULL 미만의 하이드레이션 정책을 지원하는 동기화 공급자에만 적용됩니다. 그렇지 않으면 STATUS_CLOUD_FILE_NOT_SUPPORTED 작업이 실패합니다.

동기화 공급자는 이 작업을 수행하기 위해 동기화 루트 등록 시간에 VALIDATE_REQUIRED 수분 공급 정책 한정자를 지정해야 합니다. 그렇지 않으면 STATUS_CLOUD_FILE_NOT_SUPPORTED 작업이 실패합니다.

동기화 공급자는 ACK_DATA 작업을 수행할 파일에 대한 READ_DATA 또는 WRITE_DAC 액세스 권한이 있어야 합니다. 그렇지 않으면 STATUS_CLOUD_FILE_ACCESS_DENIED 작업이 실패합니다.

이 작업을 수행하려면 다음을 수행합니다.

  • OpInfo.TypeCF_OPERATION_TYPE_ACK_DATA 설정해야 합니다.
  • OpParams.ParamSizeOpParams.AckData의 정확한 크기와 OpParams.AckData오프셋으로 설정해야 합니다.
  • OpParams.AckData.FlagsCF_OPERATION_ACK_DATA_FLAG_NONE 설정해야 합니다.
  • 동기화 공급자가 승인할 범위 내의 데이터가 양호한지 확인하는 경우 OpParams.AckData.CompletionStatusSTATUS_SUCCESS 설정해야 합니다. 동기화 공급자가 어떤 이유로든 데이터의 유효성을 검사하지 못하고 수분을 다시 시작하지 않으려면 CompletionStatus에서 STATUS_CLOUD_FILE_* 상태 설정해야 합니다. STATUS_SUCCESS 제외한 STATUS_CLOUD_FILE_* 범위 외부에서 반환되는 모든 상태 코드는 플랫폼에서 STATUS_CLOUD_FILE_UNSUCCESSFUL 변환됩니다.
  • OpParams.AckData.OffsetOpParams.AckData.Length 는 동기화 공급자가 데이터를 승인할 자리 표시자의 범위를 설명합니다. 요청되는 범위는 작업 전에 TRANSFER_DATA 작업에 의해 완전히 수화될 필요가 없습니다. 설명된 범위가 논리 파일 크기(EoF)로 끝나지 않는 한 오프셋길이 는 모두 4KB로 정렬됩니다. 이 경우 길이 는 논리 파일 크기 이상으로 끝나는 한 4KB로 정렬할 필요가 없습니다.
  • 길이-1CF_EOF 로 표시되며 무한대(즉, 파일의 끝)를 의미합니다.

ACK_DATA 작업이 성공하면 ACK_DATA작업의 결과로 필요한 모든 바이트를 받은 자리 표시자 파일에 대한 보류 중인 사용자 IO 요청이 완료됩니다. 그렇지 않으면 불완전한 사용자 IO 요청이 최신 수화 상태를 반영하도록 업데이트됩니다. 실패한 ACK_DATA 경우 OffsetLength 에 설명된 범위와 겹치는 자리 표시자 파일의 보류 중인 사용자 IO 요청은 CompletionStatus에서 실패합니다.

DUMMYUNIONNAME.AckData.Flags

데이터를 승인하기 위한 플래그입니다. CF_OPERATION_ACK_DATA_FLAG_NONE 설정해야 합니다. 자세한 내용은 CF_OPERATION_ACK_DATA_FLAGS 참조하세요.

DUMMYUNIONNAME.AckData.CompletionStatus

데이터 승인의 완료 상태. 동기화 공급자가 승인할 범위 내의 데이터가 양수인지 확인하는 경우 STATUS_SUCCESS 설정해야 합니다. 동기화 공급자가 어떤 이유로든 데이터의 유효성을 검사하지 못하고 수분을 다시 시작하지 않으려면 CompletionStatus에서 STATUS_CLOUD_FILE_* 상태 설정해야 합니다. STATUS_SUCCESS 제외한 STATUS_CLOUD_FILE_* 범위 외부에서 반환되는 모든 상태 코드는 플랫폼에서 STATUS_CLOUD_FILE_UNSUCCESSFUL 변환됩니다.

DUMMYUNIONNAME.AckData.Offset

승인할 자리 표시자 데이터의 오프셋(바이트)입니다. 오프셋 은 동기화 공급자가 데이터를 승인할 자리 표시자의 범위를 설명합니다. 요청되는 범위는 작업 전에 TRANSFER_DATA 작업에 의해 완전히 수화될 필요가 없습니다. 오프셋 은 4KB로 정렬되어야 합니다.

DUMMYUNIONNAME.AckData.Length

승인할 자리 표시자의 데이터 길이(바이트)입니다. 설명된 범위가 논리 파일 크기(EoF)로 끝나지 않는 한 4KB를 정렬해야 합니다. 이 경우 길이 는 논리 파일 크기 이상으로 끝나는 한 4KB로 정렬할 필요가 없습니다. 길이-1CF_EOF 로 표시되며 무한대(즉, 파일의 끝)를 의미합니다.

DUMMYUNIONNAME.RestartHydration

동기화 공급자는 RESTART_HYDRATION 작업을 수행하여 진행 중인 수분을 다시 시작합니다. 이 작업은 FETCH_DATA 콜백, VALIDATE_DATA콜백 에 대한 응답 또는 콜백 컨텍스트 외부의 선제 백그라운드 수화 작업의 일부로 수행할 수 있습니다.

이 API는 FULL 수분 공급 정책을 지원하는 동기화 공급자에만 적용됩니다. 그렇지 않으면 STATUS_CLOUD_FILE_NOT_SUPPORTED 작업이 실패합니다.

동기화 공급자는 RESTART_HYDRATION 작업을 수행할 파일에 대한 WRITE_DATA 또는 WRITE_DAC 액세스 권한이 있어야 합니다. 그렇지 않으면 STATUS_CLOUD_FILE_ACCESS_DENIED 작업이 실패합니다.

이 작업을 수행하려면 다음을 수행합니다.

  • OpInfo.TypeCF_OPERATION_TYPE_RESTART_HYDRATION 설정해야 합니다.
  • OpParams.ParamSizeOpParams.RestartHydration의 정확한 크기와 OpParams.RestartHydration오프셋으로 설정해야 합니다.
  • OpParams.RestartHydration.FlagsCF_OPERATION_RESTART_HYDRATION_FLAG_NONE 또는 CF_OPERATION_RESTART_HYDRATION_FLAG_MARK_IN_SYNC 설정해야 합니다.
    • CF_OPERATION_RESTART_HYDRATION_FLAG_MARK_IN_SYNC 지정한 경우 자리 표시자는 성공적인 RESTART_HYDRATION 작업 시 동기화 상태로 표시됩니다.
  • OpParams.RestartHydration.FsMetadata 는 선택 사항입니다. 제공된 경우:
    • 0 타임스탬프 필드(CreationTime, LastAccessTime, LastWriteTimeChangeTime)의 값은 파일의 현재 타임스탬프를 변경하지 않음을 의미합니다.
    • 0FileAttributes의 값은 파일의 현재 파일 특성이 변경되지 않음을 의미합니다.
    • FileSize에는 특별한 값이 없습니다. 0FileSize의 값은 파일 크기를 0으로 자립니다.
  • OpParams.RestartHydration.FileIdentityOpParams.RestartHydration.FileIdentityLength 는 선택 사항입니다. 제공되면 새 ID가 파일에 유지됩니다. 그렇지 않으면 현재 파일 ID가 유지됩니다.

동기화 공급자는 자리 표시자의 디스크 내 데이터가 실제로 유효하지 않으며 I/O 요청을 충족하는 데 적합하지 않다고 판단하는 경우 이 API를 호출합니다. 일반적인 시나리오는 어떤 이유로 검색된 데이터가 체크섬 확인에 실패하는 것입니다. 또 다른 사용 시나리오는 수화 과정에서 파일 콘텐츠가 실제로 클라우드에서 업데이트된 경우(동기화 공급자가 로컬 자리 표시자 버전에 해당하는 클라우드에서 기록 콘텐츠를 검색할 수 없음) 발생합니다.

성공적으로 다시 시작되면 자리 표시자가 완전히 탈수되고 새 메타데이터(있는 경우)로 업데이트됩니다. 보류 중인 사용자 IO 요청이 있는 경우 방금 도착한 것처럼 다시 처리되므로 동기화 공급자는 동기화 공급자가 이전에 받은 것과 정확히 동일한 새 콜백을 받게 됩니다.

그러나 어떤 이유로든 다시 시작에 실패한 경우 자리 표시자는 오류가 발생한 위치에 따라 비결정적 상태로 남아 있을 수 있으며 자리 표시자의 보류 중인 모든 사용자 IO 요청은 동일한 오류로 인해 실패할 수 있습니다. 이 경우 플랫폼이 보장하는 유일한 것은 자리 표시자 파일에 대한 향후 사용자 액세스가 동일한 콜백을 트리거한다는 것입니다.

DUMMYUNIONNAME.RestartHydration.Flags

자리 표시자 하이드레이션을 다시 시작하는 플래그입니다. CF_OPERATION_RESTART_HYDRATION_FLAG_NONE 또는CF_OPERATION_RESTART_HYDRATION_FLAG_MARK_IN_SYNC 설정해야 합니다. CF_OPERATION_RESTART_HYDRATION_FLAG_MARK_IN_SYNC 지정한 경우 자리 표시자는 성공적인 RESTART_HYDRATION 작업 시 동기화 상태로 표시됩니다. 자세한 내용은 CF_OPERATION_RESTART_HYDRATION_FLAGS 참조하세요.

DUMMYUNIONNAME.RestartHydration.FsMetadata

선택 사항입니다. 파일 메타데이터에 대한 업데이트를 포함합니다. 지정한 경우:

  • 0 타임스탬프 필드(CreationTime, LastAccessTime, LastWriteTimeChangeTime)의 값은 파일의 현재 타임스탬프를 변경하지 않음을 의미합니다.
  • FileAttributes의 값은 0 파일의 현재 파일 특성을 변경하지 않음을 의미합니다.
  • FileSize에는 특별한 값이 없습니다. 0FileSize의 값은 파일 크기를 0으로 자립니다.

DUMMYUNIONNAME.RestartHydration.FileIdentity

선택 사항입니다. 제공되면 파일 ID가 이 값으로 업데이트됩니다. 그렇지 않으면 동일하게 유지합니다.

DUMMYUNIONNAME.RestartHydration.FileIdentityLength

선택 사항입니다. FileIdentity의 길이를 지정합니다.

DUMMYUNIONNAME.TransferPlaceholders

DUMMYUNIONNAME.TransferPlaceholders.Flags

자리 표시자를 전송하기 위한 플래그입니다. 자세한 내용은 CF_OPERATION_TRANSFER_PLACEHOLDERS_FLAGS 참조하세요.

DUMMYUNIONNAME.TransferPlaceholders.CompletionStatus

전송 자리 표시자 작업의 완료 상태.

DUMMYUNIONNAME.TransferPlaceholders.PlaceholderTotalCount

총 자리 표시자 수입니다.

DUMMYUNIONNAME.TransferPlaceholders.PlaceholderArray

전송할 자리 표시자 배열입니다.

DUMMYUNIONNAME.TransferPlaceholders.PlaceholderCount

전송되는 자리 표시자 수입니다.

DUMMYUNIONNAME.TransferPlaceholders.EntriesProcessed

처리된 자리 표시자 항목입니다.

DUMMYUNIONNAME.AckDehydrate

DUMMYUNIONNAME.AckDehydrate.Flags

탈수된 데이터 승인 플래그입니다. 자세한 내용은 CF_OPERATION_ACK_DEHYDRATE_FLAGS 참조하세요.

DUMMYUNIONNAME.AckDehydrate.CompletionStatus

승인 탈수 작업의 완료 상태. 동기화 공급자가 탈수를 진행할 수 있는 경우 STATUS_SUCCESS 설정해야 합니다. 동기화 공급자가 어떤 이유로든 탈수를 허용하지 않으려면 CompletionStatus에서 STATUS_CLOUD_FILE_* 상태 설정해야 합니다. STATUS_SUCCESS 제외한 STATUS_CLOUD_FILE_* 범위 외부에서 반환되는 모든 상태 코드는 플랫폼에서 STATUS_CLOUD_FILE_UNSUCCESSFUL 변환됩니다.

DUMMYUNIONNAME.AckDehydrate.FileIdentity

탈수된 데이터를 승인할 자리 표시자 파일의 파일 ID입니다.

DUMMYUNIONNAME.AckDehydrate.FileIdentityLength

FileIdentity의 길이(바이트)입니다.

DUMMYUNIONNAME.AckRename

DUMMYUNIONNAME.AckRename.Flags

자리 표시자 플래그 이름 바꾸기를 승인합니다. 자세한 내용은 CF_OPERATION_ACK_RENAME_FLAGS 참조하세요.

DUMMYUNIONNAME.AckRename.CompletionStatus

승인 이름 바꾸기 작업의 완료 상태. 동기화 공급자가 이름 바꾸기 작업을 계속할 수 있는 경우 STATUS_SUCCESS 설정해야 합니다. 동기화 공급자가 어떤 이유로든 이름 바꾸기를 허용하지 않으려면 CompletionStatus에서 STATUS_CLOUD_FILE_* 상태 설정해야 합니다. STATUS_SUCCESS 제외한 STATUS_CLOUD_FILE_* 범위 외부에서 반환되는 모든 상태 코드는 플랫폼에서 STATUS_CLOUD_FILE_UNSUCCESSFUL 변환됩니다.

DUMMYUNIONNAME.AckDelete

DUMMYUNIONNAME.AckDelete.Flags

삭제 플래그를 승인합니다. 자세한 내용은 CF_OPERATION_ACK_DELETE_FLAGS 참조하세요.

DUMMYUNIONNAME.AckDelete.CompletionStatus

승인 삭제 작업의 완료 상태. 동기화 공급자가 삭제 작업을 계속할 수 있는 경우 STATUS_SUCCESS 설정해야 합니다. 동기화 공급자가 어떤 이유로든 삭제를 허용하지 않으려면 CompletionStatus에서 STATUS_CLOUD_FILE_* 상태 설정해야 합니다. STATUS_SUCCESS 제외한 STATUS_CLOUD_FILE_* 범위 외부에서 반환되는 모든 상태 코드는 플랫폼에서 STATUS_CLOUD_FILE_UNSUCCESSFUL 변환됩니다.

요구 사항

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

추가 정보

CfExecute

CF_OPERATION_TRANSFER_DATA_FLAGS

CF_OPERATION_RETRIEVE_DATA_FLAGS