COPYFILE2_EXTENDED_PARAMETERS_V2 구조체(winbase.h)
CopyFile2 함수에 대한 COPYFILE2_EXTENDED_PARAMETERS 구조 이외의 업데이트된 추가 기능을 포함합니다.
구문
typedef struct COPYFILE2_EXTENDED_PARAMETERS_V2 {
DWORD dwSize;
DWORD dwCopyFlags;
BOOL *pfCancel;
PCOPYFILE2_PROGRESS_ROUTINE pProgressRoutine;
PVOID pvCallbackContext;
DWORD dwCopyFlagsV2;
ULONG ioDesiredSize;
ULONG ioDesiredRate;
LPPROGRESS_ROUTINE pProgressRoutineOld;
PCOPYFILE2_CREATE_OPLOCK_KEYS SourceOplockKeys;
#if ...
PVOID reserved[6];
#elif
PVOID reserved[7];
#else
PVOID reserved[8];
#endif
} COPYFILE2_EXTENDED_PARAMETERS_V2;
멤버
dwSize
이 구조 sizeof(COPYFILE2_EXTENDED_PARAMETERS_V2)
체의 크기를 포함합니다.
dwCopyFlags
이러한 플래그 값의 조합이 0개 이상 포함되어 있습니다.
값 | 의미 |
---|---|
COPY_FILE_FAIL_IF_EXISTS0x00000001 |
대상 파일이 있는 경우 복사 작업이 즉시 실패합니다. 대상 이름을 가진 파일 또는 디렉터리가 있는 경우 또는 HRESULT_FROM_WIN32(ERROR_FILE_EXISTS) 로 CopyFile2 함수 호출이 HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS) 실패합니다. COPY_FILE_RESUME_FROM_PAUSE 지정한 경우 대상 파일에 유효한 다시 시작 헤더가 없는 경우에만 오류가 트리거됩니다. |
COPY_FILE_RESTARTABLE0x00000002 |
동일한 원본 및 대상 파일 이름을 다시 사용하는 경우 다시 시작할 수 있는 방식으로 파일이 복사됩니다. 이것은 느립니다. |
COPY_FILE_OPEN_SOURCE_FOR_WRITE0x00000004 |
파일이 복사되고 쓰기 액세스를 위해 원본 파일이 열립니다. |
COPY_FILE_ALLOW_DECRYPTED_DESTINATION0x00000008 |
대상 파일을 암호화할 수 없는 경우에도 복사본이 시도됩니다. |
COPY_FILE_COPY_SYMLINK0x00000800 |
원본 파일이 기호 링크인 경우 대상 파일은 원본 기호 링크와 동일한 파일을 가리키는 기호 링크이기도 합니다. |
COPY_FILE_NO_BUFFERING0x00001000 |
복사본은 버퍼링되지 않은 I/O를 사용하여 수행되며 시스템 캐시 리소스를 무시합니다. 이 플래그는 매우 큰 파일 복사본에 권장됩니다. 이 플래그를 사용하는 복사본은 일시 중지하지 않는 것이 좋습니다. |
COPY_FILE_REQUEST_SECURITY_PRIVILEGES0x00002000 |
원본 파일 및 ACCESS_SYSTEM_SECURITY \| WRITE_DAC \| WRITE_OWNER 대상 파일에 대해 를 지정하여 ACCESS_SYSTEM_SECURITY 복사본을 시도합니다. 이러한 요청이 거부되면 액세스 요청이 액세스 권한이 부여되는 가장 높은 권한 수준으로 감소됩니다. 자세한 내용은 SACL 액세스 권한을 참조하세요. 이는 CopyFile2ProgressRoutine 콜백이 파일의 보안 특성 복사와 같이 더 높은 권한이 필요한 작업을 수행할 수 있도록 하는 데 사용할 수 있습니다. |
COPY_FILE_RESUME_FROM_PAUSE0x00004000 |
대상 파일을 검사하여 COPY_FILE_RESTARTABLE 사용하여 복사되었는지 확인합니다. 그렇다면 복사본이 다시 시작됩니다. 그렇지 않으면 파일이 완전히 복사됩니다. |
COPY_FILE_NO_OFFLOAD0x00040000 |
Windows 복사 오프로드 메커니즘을 사용하지 마세요. 일반적으로 권장되지 않습니다. |
COPY_FILE_IGNORE_EDP_BLOCK0x00400000 |
차단 대신 대상 파일 시스템에서 지원하는 경우 대상에서 파일을 복사하고 암호화해야 합니다. Windows 10 이상에서 지원됩니다. |
COPY_FILE_IGNORE_SOURCE_ENCRYPTION0x00800000 |
원본 파일의 암호화된 상태를 무시합니다. Windows 10 이상에서 지원됩니다. |
COPY_FILE_DONT_REQUEST_DEST_WRITE_DAC0x02000000 |
대상 파일 액세스에 대한 WRITE_DAC 요청하지 마세요. Windows 10 이상에서 지원됩니다. |
COPY_FILE_OPEN_AND_COPY_REPARSE_POINT0x00200000 |
형식에 관계없이 항상 재분석 지점을 복사합니다. 재분석 지점 의미를 이해하는 것은 호출자의 책임입니다. Windows 10 빌드 19041 이상에서 지원됩니다. |
COPY_FILE_DIRECTORY0x00000080 |
원본 파일이 디렉터리 파일임을 나타냅니다. 제공되면 소스 파일이 로 열립니다 FILE_OPEN_FOR_BACKUP_INTENT . 디렉터리 파일에는 대체 데이터 스트림, 재분석 지점 정보 및 일반 파일처럼 복사된 EA가 있습니다. Windows 10 빌드 19041 이상에서 지원됩니다. |
COPY_FILE_SKIP_ALTERNATE_STREAMS0x00008000 |
대체 데이터 스트림을 복사하지 마세요. Windows 10 빌드 19041 이상에서 지원됩니다. |
COPY_FILE_DISABLE_PRE_ALLOCATION0x04000000 |
복사본을 수행하기 전에 대상 파일 크기를 미리 할당하지 마세요. Windows 10 빌드 19041 이상에서 지원됩니다. |
COPY_FILE_ENABLE_LOW_FREE_SPACE_MODE0x08000000 |
LowFreeSpace 모드를 사용하도록 설정합니다. 겹치는 I/O는 사용되지 않습니다. ODX 및 SMB 오프로드는 시도되지 않습니다. Windows 10 빌드 19041 이상에서 지원됩니다. |
COPY_FILE_REQUEST_COMPRESSED_TRAFFIC0x10000000 |
복사 작업 중에 기본 전송 채널이 데이터를 압축할 것을 요청합니다. 요청은 모든 매체에 대해 지원되지 않을 수 있으며, 이 경우 무시됩니다. 압축 특성 및 매개 변수(계산 복잡성, 메모리 사용량)는 이 API를 통해 구성할 수 없으며 다른 OS 릴리스 간에 변경될 수 있습니다. 이 플래그는 Windows 10 버전 1903 및 Windows Server 2022에서 도입되었습니다. Windows 10 협상된 SMB 프로토콜 버전이 SMB v3.1.1 이상인 SMB 공유에 있는 파일에 대해 플래그가 지원됩니다. |
COPY_FILE_ENABLE_SPARSE_COPY0x20000000 |
복사하는 동안 파일의 스파스 상태를 유지하도록 설정합니다. Windows 11 빌드 22H2 이상에서 지원됩니다. |
pfCancel
복사 작업 중에 이 플래그를 TRUE 로 설정하면 복사 작업이 취소됩니다.
pProgressRoutine
파일의 다른 부분을 복사할 때마다 호출되는 형식 PCOPYFILE2_PROGRESS_ROUTINE 콜백 함수의 선택적 주소입니다. 이 매개 변수는 NULL일 수 있습니다. 진행률 콜백 함수에 대한 자세한 내용은 CopyFile2ProgressRoutine 콜백 함수를 참조하세요. pProgressRoutineOld와 pProgressRoutine이 모두 제공되면 pProgressRoutineOld가 우선합니다.
pvCallbackContext
CopyFile2ProgressRoutine에 전달할 애플리케이션별 컨텍스트 정보에 대한 포인터입니다.
dwCopyFlagsV2
이러한 플래그 값의 조합이 0개 이상 포함되어 있습니다.
값 | 의미 |
---|---|
COPY_FILE2_V2_DONT_COPY_JUNCTIONS0x00000001 |
접합 복사를 사용하지 않도록 설정합니다. |
ioDesiredSize
선택 사항입니다. 각 I/O 작업에 대해 요청된 크기(바이트)입니다(즉, 파일을 복사하는 동안 하나의 읽기/쓰기 주기). 메모리가 부족하면 이 값이 줄어들 수 있습니다. 0이면 기본 크기가 사용됩니다. ioDesiredRate도 제공된 경우 무시될 수 있습니다.
ioDesiredRate
선택 사항입니다. 요청된 평균 I/O 속도(초당 킬로바이트)입니다. 0이면 복사본이 가능한 한 빨리 수행됩니다.
pProgressRoutineOld
SourceOplockKeys
reserved[6]
reserved[7]
reserved[8]
pProgressRoutineOld. 선택 사항입니다. 파일의 다른 부분을 복사할 때마다 호출되는 LPPROGRESS_ROUTINE 형식의 이전 스타일 콜백 함수의 주소입니다. 이 매개 변수는 NULL일 수 있습니다. 자세한 내용은 진행률 콜백 함수에 대한 LPPROGRESS_ROUTINE 콜백을 참조하세요. pProgressRoutineOld와 pProgressRoutine이 모두 제공되면 pProgressRoutineOld가 우선합니다.
설명
이 구조를 사용하는 애플리케이션을 컴파일하려면 _WIN32_WINNT 매크로를 _WIN32_WINNT_WIN8 이상으로 정의합니다. 자세한 내용은 Windows 헤더 사용을 참조하세요.
요구 사항
지원되는 최소 클라이언트 | Windows 11 [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2012 [데스크톱 앱 | UWP 앱] |
머리글 | winbase.h(Windows.h 포함) |
추가 정보
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기