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_ALREADY_EXISTS) 또는 HRESULT_FROM_WIN32(ERROR_FILE_EXISTS) CopyFile2 함수 호출이 실패합니다.
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 지정하고 대상 파일의 ACCESS_SYSTEM_SECURITY \| WRITE_DAC \| WRITE_OWNER 지정하여 복사본을 시도합니다. 이러한 요청이 거부되면 액세스 요청이 액세스 권한이 부여되는 가장 높은 권한 수준으로 줄어듭니다. 자세한 내용은 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
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
발언
이 구조를 사용하는 애플리케이션을 컴파일하려면 _WIN32_WINNT 매크로를 _WIN32_WINNT_WIN8 이상으로 정의합니다. 자세한 내용은 Windows 헤더사용하는
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 11 [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2012 [데스크톱 앱 | UWP 앱] |
헤더 | winbase.h(Windows.h 포함) |
참고 항목
copyFile2
copyFile2ProgressRoutine
windows 헤더 사용하는