struktur COPYFILE2_MESSAGE (winbase.h)
Diteruskan ke fungsi panggilan balik CopyFile2ProgressRoutine dengan informasi tentang operasi penyalinan yang tertunda.
Sintaks
typedef struct COPYFILE2_MESSAGE {
COPYFILE2_MESSAGE_TYPE Type;
DWORD dwPadding;
union {
struct {
DWORD dwStreamNumber;
DWORD dwReserved;
HANDLE hSourceFile;
HANDLE hDestinationFile;
ULARGE_INTEGER uliChunkNumber;
ULARGE_INTEGER uliChunkSize;
ULARGE_INTEGER uliStreamSize;
ULARGE_INTEGER uliTotalFileSize;
} ChunkStarted;
struct {
DWORD dwStreamNumber;
DWORD dwFlags;
HANDLE hSourceFile;
HANDLE hDestinationFile;
ULARGE_INTEGER uliChunkNumber;
ULARGE_INTEGER uliChunkSize;
ULARGE_INTEGER uliStreamSize;
ULARGE_INTEGER uliStreamBytesTransferred;
ULARGE_INTEGER uliTotalFileSize;
ULARGE_INTEGER uliTotalBytesTransferred;
} ChunkFinished;
struct {
DWORD dwStreamNumber;
DWORD dwReserved;
HANDLE hSourceFile;
HANDLE hDestinationFile;
ULARGE_INTEGER uliStreamSize;
ULARGE_INTEGER uliTotalFileSize;
} StreamStarted;
struct {
DWORD dwStreamNumber;
DWORD dwReserved;
HANDLE hSourceFile;
HANDLE hDestinationFile;
ULARGE_INTEGER uliStreamSize;
ULARGE_INTEGER uliStreamBytesTransferred;
ULARGE_INTEGER uliTotalFileSize;
ULARGE_INTEGER uliTotalBytesTransferred;
} StreamFinished;
struct {
DWORD dwReserved;
} PollContinue;
struct {
COPYFILE2_COPY_PHASE CopyPhase;
DWORD dwStreamNumber;
HRESULT hrFailure;
DWORD dwReserved;
ULARGE_INTEGER uliChunkNumber;
ULARGE_INTEGER uliStreamSize;
ULARGE_INTEGER uliStreamBytesTransferred;
ULARGE_INTEGER uliTotalFileSize;
ULARGE_INTEGER uliTotalBytesTransferred;
} Error;
} Info;
} COPYFILE2_MESSAGE;
Anggota
Type
Nilai dari enumerasi COPYFILE2_MESSAGE_TYPE digunakan sebagai diskriminan untuk serikat Info dalam struktur ini.
Nilai | Makna |
---|---|
|
Menunjukkan satu gugus aliran telah mulai disalin. Informasi ada dalam struktur ChunkStarted dalam serikat Info . |
|
Menunjukkan salinan satu gugus aliran telah selesai. Informasi ada dalam struktur ChunkFinished dalam serikat Info . |
|
Menunjukkan handel sumber dan tujuan untuk aliran telah dibuka dan salinan aliran akan dimulai. Informasi berada dalam struktur StreamStarted dalam serikat Info . Ini tidak menunjukkan bahwa salinan telah dimulai untuk aliran tersebut. |
|
Menunjukkan operasi salin untuk aliran telah mulai diselesaikan, baik berhasil atau karena pengembalian COPYFILE2_PROGRESS_STOP dari CopyFile2ProgressRoutine. Informasi berada dalam struktur StreamFinished dalam union Info . |
|
Dapat dikirim secara berkala. Informasi ada dalam struktur PollContinue dalam serikat Info . |
|
Terjadi kesalahan selama operasi penyalinan. Informasi berada dalam struktur Kesalahan dalam serikat Info . |
dwPadding
Info
Info.ChunkStarted
Struktur ini dipilih jika anggota Tipe diatur ke COPYFILE2_CALLBACK_CHUNK_STARTED (1).
Info.ChunkStarted.dwStreamNumber
Menunjukkan aliran mana dalam file yang akan disalin. Nilai yang digunakan untuk mengidentifikasi aliran dalam file akan dimulai pada satu (1) dan akan selalu lebih tinggi dari aliran sebelumnya untuk file tersebut.
Info.ChunkStarted.dwReserved
Anggota ini dicadangkan untuk penggunaan internal.
Info.ChunkStarted.hSourceFile
Tangani ke aliran sumber.
Info.ChunkStarted.hDestinationFile
Tangani ke aliran tujuan.
Info.ChunkStarted.uliChunkNumber
Menunjukkan gugus mana dalam aliran saat ini yang akan disalin. Nilai yang digunakan untuk gugus akan dimulai pada nol (0) dan akan selalu lebih tinggi dari gugus sebelumnya untuk aliran saat ini.
Info.ChunkStarted.uliChunkSize
Ukuran potongan yang disalin, dalam byte.
Info.ChunkStarted.uliStreamSize
Ukuran aliran saat ini, dalam byte.
Info.ChunkStarted.uliTotalFileSize
Ukuran semua aliran untuk file ini, dalam byte.
Info.ChunkFinished
Struktur ini dipilih jika anggota Jenis diatur ke COPYFILE2_CALLBACK_CHUNK_FINISHED (2).
ChunkFinished.dwReserved
Anggota ini dicadangkan untuk penggunaan internal.
Info.ChunkFinished.dwStreamNumber
Menunjukkan aliran mana dalam file yang akan disalin. Nilai yang digunakan untuk mengidentifikasi aliran dalam file akan dimulai pada satu (1) dan akan selalu lebih tinggi dari aliran sebelumnya untuk file tersebut.
Info.ChunkFinished.dwFlags
Info.ChunkFinished.hSourceFile
Tangani ke aliran sumber.
Info.ChunkFinished.hDestinationFile
Tangani ke aliran tujuan.
Info.ChunkFinished.uliChunkNumber
Menunjukkan gugus mana dalam aliran saat ini yang sedang dalam proses. Nilai yang digunakan untuk gugus akan dimulai pada nol (0) dan akan selalu lebih tinggi dari gugus sebelumnya untuk aliran saat ini.
Info.ChunkFinished.uliChunkSize
Ukuran potongan yang disalin, dalam byte.
Info.ChunkFinished.uliStreamSize
Ukuran aliran saat ini, dalam byte.
Info.ChunkFinished.uliStreamBytesTransferred
Total byte yang disalin untuk aliran ini sejauh ini.
Info.ChunkFinished.uliTotalFileSize
Ukuran semua aliran untuk file ini, dalam byte.
Info.ChunkFinished.uliTotalBytesTransferred
Total byte yang disalin untuk file ini sejauh ini.
Info.StreamStarted
Struktur ini dipilih jika anggota Tipe diatur ke COPYFILE2_CALLBACK_STREAM_STARTED (3).
Info.StreamStarted.dwStreamNumber
Menunjukkan aliran mana dalam file yang akan disalin. Nilai yang digunakan untuk mengidentifikasi aliran dalam file akan dimulai pada satu (1) dan akan selalu lebih tinggi dari aliran sebelumnya untuk file tersebut.
Info.StreamStarted.dwReserved
Anggota ini dicadangkan untuk penggunaan internal.
Info.StreamStarted.hSourceFile
Tangani ke aliran sumber.
Info.StreamStarted.hDestinationFile
Tangani ke aliran tujuan.
Info.StreamStarted.uliStreamSize
Ukuran aliran saat ini, dalam byte.
Info.StreamStarted.uliTotalFileSize
Ukuran semua aliran untuk file ini, dalam byte.
Info.StreamFinished
Struktur ini dipilih jika anggota Tipe diatur ke COPYFILE2_CALLBACK_STREAM_FINISHED (4).
Info.StreamFinished.dwStreamNumber
Menunjukkan aliran mana dalam file yang akan disalin. Nilai yang digunakan untuk mengidentifikasi aliran dalam file akan dimulai pada satu (1) dan akan selalu lebih tinggi dari aliran sebelumnya untuk file tersebut.
Info.StreamFinished.dwReserved
Anggota ini dicadangkan untuk penggunaan internal.
Info.StreamFinished.hSourceFile
Tangani ke aliran sumber.
Info.StreamFinished.hDestinationFile
Tangani ke aliran tujuan.
Info.StreamFinished.uliStreamSize
Ukuran aliran saat ini, dalam byte.
Info.StreamFinished.uliStreamBytesTransferred
Total byte yang disalin untuk aliran ini sejauh ini.
Info.StreamFinished.uliTotalFileSize
Ukuran semua aliran untuk file ini, dalam byte.
Info.StreamFinished.uliTotalBytesTransferred
Total byte yang disalin untuk file ini sejauh ini.
Info.PollContinue
Struktur ini dipilih jika anggota Tipe diatur ke COPYFILE2_CALLBACK_POLL_CONTNUE (5).
Info.PollContinue.dwReserved
Anggota ini dicadangkan untuk penggunaan internal.
Info.Error
Struktur ini dipilih jika anggota Jenis diatur ke COPYFILE2_CALLBACK_ERROR (6).
Info.Error.CopyPhase
Nilai dari enumerasi COPYFILE2_COPY_PHASE menunjukkan fase salinan saat ini pada saat kesalahan.
Info.Error.dwStreamNumber
Jumlah aliran yang sedang diproses pada saat kesalahan.
Info.Error.hrFailure
Nilai yang menunjukkan masalah.
Info.Error.dwReserved
Anggota ini dicadangkan untuk penggunaan internal.
Info.Error.uliChunkNumber
Menunjukkan gugus mana dalam aliran saat ini yang sedang diproses pada saat kesalahan. Nilai yang digunakan untuk gugus akan dimulai pada nol (0) dan akan selalu lebih tinggi dari gugus sebelumnya untuk aliran saat ini.
Info.Error.uliStreamSize
Ukuran, dalam byte, dari aliran yang sedang diproses.
Info.Error.uliStreamBytesTransferred
Jumlah byte yang berhasil ditransfer untuk aliran yang sedang diproses.
Info.Error.uliTotalFileSize
Ukuran, dalam byte, dari total file yang sedang diproses.
Info.Error.uliTotalBytesTransferred
Jumlah byte yang berhasil ditransfer untuk seluruh operasi penyalinan.
Keterangan
Untuk mengkompilasi aplikasi yang menggunakan struktur COPYFILE2_MESSAGE , tentukan makro _WIN32_WINNT sebagai 0x0601 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) |