COPYFILE2_MESSAGE-Struktur (winbase.h)
Wird an die Rückruffunktion CopyFile2ProgressRoutine mit Informationen zu einem ausstehenden Kopiervorgang übergeben.
Syntax
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;
Member
Type
Wert aus der COPYFILE2_MESSAGE_TYPE Enumeration, die als Diskriminant für die Info-Union innerhalb dieser Struktur verwendet wird.
Wert | Bedeutung |
---|---|
|
Gibt an, dass ein einzelner Teil eines Datenstroms mit dem Kopieren begonnen hat. Informationen befinden sich in der Struktur ChunkStarted innerhalb der Info-Union . |
|
Gibt an, dass die Kopie eines einzelnen Abschnitts eines Datenstroms abgeschlossen wurde. Informationen befinden sich in der Struktur ChunkFinished innerhalb der Info-Union . |
|
Gibt an, dass sowohl Quell- als auch Zielhandles für einen Stream geöffnet wurden und die Kopie des Datenstroms gestartet werden soll. Informationen befinden sich in der StreamStarted-Struktur innerhalb der Info-Union . Dies gibt nicht an, dass die Kopie für diesen Stream gestartet wurde. |
|
Gibt an, dass der Kopiervorgang für einen Stream erfolgreich abgeschlossen wurde, entweder erfolgreich oder aufgrund einer COPYFILE2_PROGRESS_STOP Rückgabe von CopyFile2ProgressRoutine. Informationen befinden sich in der StreamFinished-Struktur innerhalb der Info-Union . |
|
Kann in regelmäßigen Abständen gesendet werden. Informationen befinden sich in der PollContinue-Struktur innerhalb der Info-Union . |
|
Während des Kopiervorgangs ist ein Fehler aufgetreten. Informationen befinden sich in der Fehlerstruktur innerhalb der Info-Union . |
dwPadding
Info
Info.ChunkStarted
Diese Struktur wird ausgewählt, wenn das Element Typ auf COPYFILE2_CALLBACK_CHUNK_STARTED (1) festgelegt ist.
Info.ChunkStarted.dwStreamNumber
Gibt an, welcher Stream in der Datei kopiert werden soll. Der Wert, der zum Identifizieren eines Datenstroms in einer Datei verwendet wird, beginnt bei eins (1) und ist immer höher als jeder vorherige Stream für diese Datei.
Info.ChunkStarted.dwReserved
Dieser Member ist für die interne Verwendung reserviert.
Info.ChunkStarted.hSourceFile
Handle für den Quelldatenstrom.
Info.ChunkStarted.hDestinationFile
Handle für den Zieldatenstrom.
Info.ChunkStarted.uliChunkNumber
Gibt an, welcher Block innerhalb des aktuellen Datenstroms kopiert werden soll. Der für einen Block verwendete Wert beginnt bei null (0) und ist immer höher als der eines vorherigen Blocks für den aktuellen Stream.
Info.ChunkStarted.uliChunkSize
Größe des kopierten Blöckes in Byte.
Info.ChunkStarted.uliStreamSize
Größe des aktuellen Datenstroms in Byte.
Info.ChunkStarted.uliTotalFileSize
Größe aller Streams für diese Datei in Bytes.
Info.ChunkFinished
Diese Struktur wird ausgewählt, wenn der Typmember auf COPYFILE2_CALLBACK_CHUNK_FINISHED (2) festgelegt ist.
ChunkFinished.dwReserved
Dieser Member ist für die interne Verwendung reserviert.
Info.ChunkFinished.dwStreamNumber
Gibt an, welcher Stream in der Datei kopiert werden soll. Der Wert, der zum Identifizieren eines Datenstroms in einer Datei verwendet wird, beginnt bei eins (1) und ist immer höher als jeder vorherige Stream für diese Datei.
Info.ChunkFinished.dwFlags
Info.ChunkFinished.hSourceFile
Handle für den Quelldatenstrom.
Info.ChunkFinished.hDestinationFile
Handle für den Zieldatenstrom.
Info.ChunkFinished.uliChunkNumber
Gibt an, welcher Block innerhalb des aktuellen Datenstroms verarbeitet wird. Der für einen Block verwendete Wert beginnt bei null (0) und ist immer höher als der eines vorherigen Blocks für den aktuellen Stream.
Info.ChunkFinished.uliChunkSize
Größe des kopierten Blöckes in Byte.
Info.ChunkFinished.uliStreamSize
Größe des aktuellen Datenstroms in Byte.
Info.ChunkFinished.uliStreamBytesTransferred
Gesamtbytes, die bisher für diesen Stream kopiert wurden.
Info.ChunkFinished.uliTotalFileSize
Größe aller Streams für diese Datei in Bytes.
Info.ChunkFinished.uliTotalBytesTransferred
Gesamtbytes, die bisher für diese Datei kopiert wurden.
Info.StreamStarted
Diese Struktur wird ausgewählt, wenn der Typmember auf COPYFILE2_CALLBACK_STREAM_STARTED (3) festgelegt ist.
Info.StreamStarted.dwStreamNumber
Gibt an, welcher Stream in der Datei kopiert werden soll. Der Wert, der zum Identifizieren eines Datenstroms in einer Datei verwendet wird, beginnt bei eins (1) und ist immer höher als jeder vorherige Stream für diese Datei.
Info.StreamStarted.dwReserved
Dieser Member ist für die interne Verwendung reserviert.
Info.StreamStarted.hSourceFile
Handle für den Quelldatenstrom.
Info.StreamStarted.hDestinationFile
Handle für den Zieldatenstrom.
Info.StreamStarted.uliStreamSize
Größe des aktuellen Datenstroms in Byte.
Info.StreamStarted.uliTotalFileSize
Größe aller Streams für diese Datei in Bytes.
Info.StreamFinished
Diese Struktur wird ausgewählt, wenn das Element Typ auf COPYFILE2_CALLBACK_STREAM_FINISHED (4) festgelegt ist.
Info.StreamFinished.dwStreamNumber
Gibt an, welcher Stream in der Datei kopiert werden soll. Der Wert, der zum Identifizieren eines Datenstroms in einer Datei verwendet wird, beginnt bei eins (1) und ist immer höher als jeder vorherige Stream für diese Datei.
Info.StreamFinished.dwReserved
Dieser Member ist für die interne Verwendung reserviert.
Info.StreamFinished.hSourceFile
Handle für den Quelldatenstrom.
Info.StreamFinished.hDestinationFile
Handle für den Zieldatenstrom.
Info.StreamFinished.uliStreamSize
Größe des aktuellen Datenstroms in Byte.
Info.StreamFinished.uliStreamBytesTransferred
Gesamtbytes, die bisher für diesen Stream kopiert wurden.
Info.StreamFinished.uliTotalFileSize
Größe aller Streams für diese Datei in Bytes.
Info.StreamFinished.uliTotalBytesTransferred
Gesamtbytes, die bisher für diese Datei kopiert wurden.
Info.PollContinue
Diese Struktur wird ausgewählt, wenn das Element Typ auf COPYFILE2_CALLBACK_POLL_CONTNUE (5) festgelegt ist.
Info.PollContinue.dwReserved
Dieser Member ist für die interne Verwendung reserviert.
Info.Error
Diese Struktur wird ausgewählt, wenn der Typmember auf COPYFILE2_CALLBACK_ERROR (6) festgelegt ist.
Info.Error.CopyPhase
Wert aus der COPYFILE2_COPY_PHASE-Enumeration , der die aktuelle Phase der Kopie zum Zeitpunkt des Fehlers angibt.
Info.Error.dwStreamNumber
Die Nummer des Datenstroms, der zum Zeitpunkt des Fehlers verarbeitet wurde.
Info.Error.hrFailure
Wert, der das Problem angibt.
Info.Error.dwReserved
Dieser Member ist für die interne Verwendung reserviert.
Info.Error.uliChunkNumber
Gibt an, welcher Block innerhalb des aktuellen Datenstroms zum Zeitpunkt des Fehlers verarbeitet wurde. Der für einen Block verwendete Wert beginnt bei null (0) und ist immer höher als der eines vorherigen Blocks für den aktuellen Stream.
Info.Error.uliStreamSize
Größe des verarbeiteten Datenstroms in Byte.
Info.Error.uliStreamBytesTransferred
Anzahl der Bytes, die für den verarbeiteten Stream erfolgreich übertragen wurden.
Info.Error.uliTotalFileSize
Größe der gesamt verarbeiteten Datei in Byte.
Info.Error.uliTotalBytesTransferred
Anzahl der Bytes, die für den gesamten Kopiervorgang erfolgreich übertragen wurden.
Hinweise
Um eine Anwendung zu kompilieren, die die COPYFILE2_MESSAGE-Struktur verwendet, definieren Sie das _WIN32_WINNT Makro als 0x0601 oder höher. Weitere Informationen finden Sie unter Verwenden der Windows-Header.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 8 [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2012 [Desktop-Apps | UWP-Apps] |
Kopfzeile | winbase.h (einschließlich Windows.h) |