Bagikan melalui


struktur COPYFILE2_EXTENDED_PARAMETERS (winbase.h)

Berisi parameter yang diperluas untuk fungsi CopyFile2 .

Sintaks

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

Anggota

dwSize

Berisi ukuran struktur ini, sizeof(COPYFILE2_EXTENDED_PARAMETERS).

dwCopyFlags

Berisi kombinasi nol atau lebih dari nilai bendera ini.

Nilai Makna
COPY_FILE_FAIL_IF_EXISTS
0x00000001
Jika file tujuan ada, operasi salin akan segera gagal. Jika file atau direktori ada dengan nama tujuan, maka panggilan fungsi CopyFile2 akan gagal dengan HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS) atau HRESULT_FROM_WIN32(ERROR_FILE_EXISTS). Jika COPY_FILE_RESUME_FROM_PAUSE juga ditentukan, kegagalan hanya dipicu jika file tujuan tidak memiliki header hidupkan ulang yang valid.
COPY_FILE_RESTARTABLE
0x00000002
File disalin dengan cara yang dapat dimulai ulang jika nama file sumber dan tujuan yang sama digunakan lagi. Ini lebih lambat.
COPY_FILE_OPEN_SOURCE_FOR_WRITE
0x00000004
File disalin dan file sumber dibuka untuk akses tulis.
COPY_FILE_ALLOW_DECRYPTED_DESTINATION
0x00000008
Salinan akan dicoba meskipun file tujuan tidak dapat dienkripsi.
COPY_FILE_COPY_SYMLINK
0x00000800
Jika file sumber adalah tautan simbolis, file tujuan juga merupakan tautan simbolis yang menunjuk ke file yang sama dengan tautan simbolis sumber.
COPY_FILE_NO_BUFFERING
0x00001000
Salinan dilakukan menggunakan I/O yang tidak dibuffer, melewati sumber daya cache sistem. Bendera ini direkomendasikan untuk salinan file yang sangat besar. Tidak disarankan untuk menjeda salinan yang menggunakan bendera ini.
COPY_FILE_REQUEST_SECURITY_PRIVILEGES
0x00002000
Salinan dicoba, menentukan ACCESS_SYSTEM_SECURITY untuk file sumber dan ACCESS_SYSTEM_SECURITY \| WRITE_DAC \| WRITE_OWNER untuk file tujuan. Jika permintaan ini ditolak, permintaan akses akan dikurangi ke tingkat hak istimewa tertinggi yang aksesnya diberikan. Untuk informasi selengkapnya lihat Hak Akses SACL. Ini dapat digunakan untuk memungkinkan panggilan balik CopyFile2ProgressRoutine untuk melakukan operasi yang membutuhkan hak istimewa yang lebih tinggi, seperti menyalin atribut keamanan untuk file.
COPY_FILE_RESUME_FROM_PAUSE
0x00004000
File tujuan diperiksa untuk melihat apakah file tersebut disalin menggunakan COPY_FILE_RESTARTABLE. Jika demikian salinan dilanjutkan. Jika tidak, file akan disalin sepenuhnya.
COPY_FILE_NO_OFFLOAD
0x00040000
Jangan coba menggunakan mekanisme Windows Copy Offload. Ini umumnya tidak disarankan.
COPY_FILE_IGNORE_EDP_BLOCK
0x00400000
Alih-alih memblokir, file harus disalin dan dienkripsi pada tujuan jika didukung oleh sistem file tujuan. Didukung pada Windows 10 dan yang lebih baru.
COPY_FILE_IGNORE_SOURCE_ENCRYPTION
0x00800000
Abaikan status terenkripsi file sumber. Didukung pada Windows 10 dan yang lebih baru.
COPY_FILE_DONT_REQUEST_DEST_WRITE_DAC
0x02000000
Jangan meminta WRITE_DAC untuk akses file tujuan. Didukung pada Windows 10 dan yang lebih baru.
COPY_FILE_OPEN_AND_COPY_REPARSE_POINT
0x00200000
Selalu salin titik pemilah ulang terlepas dari jenisnya. Ini adalah tanggung jawab pemanggil untuk memahami arti titik pemilah ulang. Didukung pada Windows 10, build 19041 dan yang lebih baru.
COPY_FILE_DIRECTORY
0x00000080
Menunjukkan file sumber adalah file direktori. Ketika disediakan, file sumber dibuka dengan FILE_OPEN_FOR_BACKUP_INTENT. File direktori akan memiliki aliran data alternatif, info titik pemilah ulang, dan EA yang disalin seperti file normal. Didukung di Windows 10, build 19041 dan yang lebih baru.
COPY_FILE_SKIP_ALTERNATE_STREAMS
0x00008000
Jangan salin aliran data alternatif. Didukung di Windows 10, build 19041 dan yang lebih baru.
COPY_FILE_DISABLE_PRE_ALLOCATION
0x04000000
Jangan melakukan pra-alokasi ukuran file tujuan sebelum melakukan penyalinan. Didukung di Windows 10, build 19041 dan yang lebih baru.
COPY_FILE_ENABLE_LOW_FREE_SPACE_MODE
0x08000000
Aktifkan mode LowFreeSpace. Tidak ada I/Os yang tumpang tindih yang digunakan. Offload ODX dan SMB tidak dicoba. Didukung di Windows 10, build 19041 dan yang lebih baru.
COPY_FILE_REQUEST_COMPRESSED_TRAFFIC
0x10000000
Minta saluran transfer yang mendasar memadatkan data selama operasi penyalinan. Permintaan mungkin tidak didukung untuk semua media, dalam hal ini diabaikan. Atribut dan parameter kompresi (kompleksitas komputasi, penggunaan memori) tidak dapat dikonfigurasi melalui API ini, dan dapat berubah di antara rilis OS yang berbeda. Didukung di Windows Server 2022 dan Windows 10, build 1903 dan yang lebih baru. (Pada Windows 10, bendera didukung untuk file yang berada di berbagi SMB, di mana versi protokol SMB yang dinegosiasikan adalah SMB v3.1.1 atau lebih besar.)
COPY_FILE_ENABLE_SPARSE_COPY
0x20000000
Aktifkan mempertahankan status file yang jarang selama penyalinan. Didukung di Windows 11, build 22H2 dan yang lebih baru.

pfCancel

Jika bendera ini diatur ke TRUE selama operasi salin, maka operasi salin dibatalkan.

pProgressRoutine

Alamat opsional fungsi panggilan balik jenis PCOPYFILE2_PROGRESS_ROUTINE yang dipanggil setiap kali bagian lain dari file telah disalin. Parameter ini bisa NULL. Untuk informasi selengkapnya tentang fungsi panggilan balik kemajuan, lihat fungsi panggilan balik CopyFile2ProgressRoutine .

pvCallbackContext

Penunjuk ke informasi konteks khusus aplikasi yang akan diteruskan ke CopyFile2ProgressRoutine.

Keterangan

Untuk mengkompilasi aplikasi yang menggunakan struktur ini, tentukan makro _WIN32_WINNT sebagai _WIN32_WINNT_WIN8 atau yang lebih baru. Untuk informasi selengkapnya, lihat Menggunakan Header Windows.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 8 [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2012 [aplikasi desktop | Aplikasi UWP]
Header winbase.h (termasuk Windows.h)

Lihat juga

CopyFile2

CopyFile2ProgressRoutine

Struktur Manajemen File

COPYFILE2_EXTENDED_PARAMETERS_V2