Bagikan melalui


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
COPYFILE2_CALLBACK_CHUNK_STARTED
1
Menunjukkan satu gugus aliran telah mulai disalin. Informasi ada dalam struktur ChunkStarted dalam serikat Info .
COPYFILE2_CALLBACK_CHUNK_FINISHED
2
Menunjukkan salinan satu gugus aliran telah selesai. Informasi ada dalam struktur ChunkFinished dalam serikat Info .
COPYFILE2_CALLBACK_STREAM_STARTED
3
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.
COPYFILE2_CALLBACK_STREAM_FINISHED
4
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 .
COPYFILE2_CALLBACK_POLL_CONTINUE
5
Dapat dikirim secara berkala. Informasi ada dalam struktur PollContinue dalam serikat Info .
COPYFILE2_CALLBACK_ERROR
6
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)