다음을 통해 공유


COPYFILE2_EXTENDED_PARAMETERS 구조체(winbase.h)

CopyFile2 함수에 대한 확장 매개 변수를 포함합니다.

구문

typedef struct COPYFILE2_EXTENDED_PARAMETERS {
  DWORD                       dwSize;
  DWORD                       dwCopyFlags;
  BOOL                        *pfCancel;
  PCOPYFILE2_PROGRESS_ROUTINE pProgressRoutine;
  PVOID                       pvCallbackContext;
} COPYFILE2_EXTENDED_PARAMETERS;

멤버

dwSize

이 구조 sizeof(COPYFILE2_EXTENDED_PARAMETERS)체의 크기를 포함합니다.

dwCopyFlags

이러한 플래그 값의 조합이 0개 이상 포함되어 있습니다.

의미
COPY_FILE_FAIL_IF_EXISTS
0x00000001
대상 파일이 있는 경우 복사 작업이 즉시 실패합니다. 대상 이름을 가진 파일 또는 디렉터리가 있는 경우 또는 HRESULT_FROM_WIN32(ERROR_FILE_EXISTS)CopyFile2 함수 호출이 HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS) 실패합니다. COPY_FILE_RESUME_FROM_PAUSE 지정한 경우 대상 파일에 유효한 다시 시작 헤더가 없는 경우에만 오류가 트리거됩니다.
COPY_FILE_RESTARTABLE
0x00000002
동일한 원본 및 대상 파일 이름을 다시 사용하는 경우 다시 시작할 수 있는 방식으로 파일이 복사됩니다. 이것은 느립니다.
COPY_FILE_OPEN_SOURCE_FOR_WRITE
0x00000004
파일이 복사되고 쓰기 액세스를 위해 원본 파일이 열립니다.
COPY_FILE_ALLOW_DECRYPTED_DESTINATION
0x00000008
대상 파일을 암호화할 수 없는 경우에도 복사본이 시도됩니다.
COPY_FILE_COPY_SYMLINK
0x00000800
원본 파일이 기호 링크인 경우 대상 파일은 원본 기호 링크와 동일한 파일을 가리키는 기호 링크이기도 합니다.
COPY_FILE_NO_BUFFERING
0x00001000
복사본은 버퍼링되지 않은 I/O를 사용하여 수행되며 시스템 캐시 리소스를 무시합니다. 이 플래그는 매우 큰 파일 복사본에 권장됩니다. 이 플래그를 사용하는 복사본은 일시 중지하지 않는 것이 좋습니다.
COPY_FILE_REQUEST_SECURITY_PRIVILEGES
0x00002000
원본 파일 및 ACCESS_SYSTEM_SECURITY \| WRITE_DAC \| WRITE_OWNER 대상 파일에 대해 를 지정하여 ACCESS_SYSTEM_SECURITY 복사본을 시도합니다. 이러한 요청이 거부되면 액세스 요청이 액세스 권한이 부여되는 가장 높은 권한 수준으로 감소됩니다. 자세한 내용은 SACL 액세스 권한을 참조하세요. 이는 CopyFile2ProgressRoutine 콜백이 파일의 보안 특성 복사와 같이 더 높은 권한이 필요한 작업을 수행할 수 있도록 하는 데 사용할 수 있습니다.
COPY_FILE_RESUME_FROM_PAUSE
0x00004000
대상 파일을 검사하여 COPY_FILE_RESTARTABLE 사용하여 복사되었는지 확인합니다. 그렇다면 복사본이 다시 시작됩니다. 그렇지 않으면 파일이 완전히 복사됩니다.
COPY_FILE_NO_OFFLOAD
0x00040000
Windows 복사 오프로드 메커니즘을 사용하지 마세요. 일반적으로 권장되지 않습니다.
COPY_FILE_IGNORE_EDP_BLOCK
0x00400000
차단 대신 대상 파일 시스템에서 지원하는 경우 대상에서 파일을 복사하고 암호화해야 합니다. Windows 10 이상에서 지원됩니다.
COPY_FILE_IGNORE_SOURCE_ENCRYPTION
0x00800000
원본 파일의 암호화된 상태를 무시합니다. Windows 10 이상에서 지원됩니다.
COPY_FILE_DONT_REQUEST_DEST_WRITE_DAC
0x02000000
대상 파일 액세스에 대한 WRITE_DAC 요청하지 마세요. Windows 10 이상에서 지원됩니다.
COPY_FILE_OPEN_AND_COPY_REPARSE_POINT
0x00200000
형식에 관계없이 항상 재분석 지점을 복사합니다. 재분석 지점 의미를 이해하는 것은 호출자의 책임입니다. Windows 10 빌드 19041 이상에서 지원됩니다.
COPY_FILE_DIRECTORY
0x00000080
원본 파일이 디렉터리 파일임을 나타냅니다. 제공되면 소스 파일이 로 열립니다 FILE_OPEN_FOR_BACKUP_INTENT. 디렉터리 파일에는 대체 데이터 스트림, 재분석 지점 정보 및 일반 파일처럼 복사된 EA가 있습니다. Windows 10 빌드 19041 이상에서 지원됩니다.
COPY_FILE_SKIP_ALTERNATE_STREAMS
0x00008000
대체 데이터 스트림을 복사하지 마세요. Windows 10 빌드 19041 이상에서 지원됩니다.
COPY_FILE_DISABLE_PRE_ALLOCATION
0x04000000
복사본을 수행하기 전에 대상 파일 크기를 미리 할당하지 마세요. Windows 10 빌드 19041 이상에서 지원됩니다.
COPY_FILE_ENABLE_LOW_FREE_SPACE_MODE
0x08000000
LowFreeSpace 모드를 사용하도록 설정합니다. 겹치는 I/O는 사용되지 않습니다. ODX 및 SMB 오프로드는 시도되지 않습니다. Windows 10 빌드 19041 이상에서 지원됩니다.
COPY_FILE_REQUEST_COMPRESSED_TRAFFIC
0x10000000
복사 작업 중에 기본 전송 채널이 데이터를 압축할 것을 요청합니다. 요청은 모든 매체에 대해 지원되지 않을 수 있으며, 이 경우 무시됩니다. 압축 특성 및 매개 변수(계산 복잡성, 메모리 사용량)는 이 API를 통해 구성할 수 없으며 다른 OS 릴리스 간에 변경될 수 있습니다. Windows Server 2022 및 Windows 10 빌드 1903 이상에서 지원됩니다. (Windows 10 협상된 SMB 프로토콜 버전이 SMB v3.1.1 이상인 SMB 공유에 있는 파일에 대해 플래그가 지원됩니다.
COPY_FILE_ENABLE_SPARSE_COPY
0x20000000
복사하는 동안 파일의 스파스 상태를 유지하도록 설정합니다. Windows 11 빌드 22H2 이상에서 지원됩니다.

pfCancel

복사 작업 중에 이 플래그를 TRUE 로 설정하면 복사 작업이 취소됩니다.

pProgressRoutine

파일의 다른 부분을 복사할 때마다 호출되는 형식 PCOPYFILE2_PROGRESS_ROUTINE 콜백 함수의 선택적 주소입니다. 이 매개 변수는 NULL일 수 있습니다. 진행률 콜백 함수에 대한 자세한 내용은 CopyFile2ProgressRoutine 콜백 함수를 참조하세요.

pvCallbackContext

CopyFile2ProgressRoutine에 전달할 애플리케이션별 컨텍스트 정보에 대한 포인터입니다.

설명

이 구조를 사용하는 애플리케이션을 컴파일하려면 _WIN32_WINNT 매크로를 _WIN32_WINNT_WIN8 이상으로 정의합니다. 자세한 내용은 Windows 헤더 사용을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8 [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2012 [데스크톱 앱 | UWP 앱]
머리글 winbase.h(Windows.h 포함)

추가 정보

CopyFile2

CopyFile2ProgressRoutine

파일 관리 구조

COPYFILE2_EXTENDED_PARAMETERS_V2