COPYFILE2_MESSAGE struttura (winbase.h)
Passato alla funzione di callback CopyFile2ProgressRoutine con informazioni su un'operazione di copia in sospeso.
Sintassi
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;
Members
Type
Valore dell'enumerazione COPYFILE2_MESSAGE_TYPE utilizzata come discriminante per l'unione info all'interno di questa struttura.
Valore | Significato |
---|---|
|
Indica che un singolo blocco di un flusso è stato avviato per la copia. Le informazioni si trovano nella struttura ChunkStarted all'interno dell'unione info . |
|
Indica la copia di un singolo blocco di un flusso completato. Le informazioni si trovano nella struttura ChunkFinished all'interno dell'unione info . |
|
Indica che sia gli handle di origine che di destinazione per un flusso sono stati aperti e la copia del flusso sta per essere avviata. Le informazioni si trovano nella struttura StreamStarted all'interno dell'unione info . Ciò non indica che la copia è stata avviata per tale flusso. |
|
Indica che l'operazione di copia per un flusso è stata completata correttamente o a causa di un COPYFILE2_PROGRESS_STOP restituito da CopyFile2ProgressRoutine. Le informazioni si trovano nella struttura StreamFinished all'interno dell'unione info . |
|
Può essere inviato periodicamente. Le informazioni si trovano nella struttura PollContinue all'interno dell'unione info . |
|
Errore durante l'operazione di copia. Le informazioni si trovano nella struttura Di errore all'interno dell'unione info . |
dwPadding
Info
Info.ChunkStarted
Questa struttura è selezionata se il membro Type è impostato su COPYFILE2_CALLBACK_CHUNK_STARTED (1).
Info.ChunkStarted.dwStreamNumber
Indica quale flusso all'interno del file sta per essere copiato. Il valore usato per identificare un flusso all'interno di un file inizierà a uno (1) e sarà sempre superiore a qualsiasi flusso precedente per tale file.
Info.ChunkStarted.dwReserved
Questo membro è riservato per l'uso interno.
Info.ChunkStarted.hSourceFile
Gestire il flusso di origine.
Info.ChunkStarted.hDestinationFile
Gestire il flusso di destinazione.
Info.ChunkStarted.uliChunkNumber
Indica quale blocco all'interno del flusso corrente sta per essere copiato. Il valore usato per un blocco inizierà a zero (0) e sarà sempre superiore a quello di qualsiasi blocco precedente per il flusso corrente.
Info.ChunkStarted.uliChunkSize
Dimensioni del blocco copiato, in byte.
Info.ChunkStarted.uliStreamSize
Dimensioni del flusso corrente, in byte.
Info.ChunkStarted.uliTotalFileSize
Dimensioni di tutti i flussi per questo file, in byte.
Info.ChunkFinished
Questa struttura viene selezionata se il membro Type è impostato su COPYFILE2_CALLBACK_CHUNK_FINISHED (2).
ChunkFinished.dwReserved
Questo membro è riservato per l'uso interno.
Info.ChunkFinished.dwStreamNumber
Indica quale flusso all'interno del file sta per essere copiato. Il valore usato per identificare un flusso all'interno di un file inizierà a uno (1) e sarà sempre superiore a qualsiasi flusso precedente per tale file.
Info.ChunkFinished.dwFlags
Info.ChunkFinished.hSourceFile
Gestire il flusso di origine.
Info.ChunkFinished.hDestinationFile
Gestire il flusso di destinazione.
Info.ChunkFinished.uliChunkNumber
Indica quale blocco all'interno del flusso corrente è in fase di elaborazione. Il valore usato per un blocco inizierà a zero (0) e sarà sempre superiore a quello di qualsiasi blocco precedente per il flusso corrente.
Info.ChunkFinished.uliChunkSize
Dimensioni del blocco copiato, in byte.
Info.ChunkFinished.uliStreamSize
Dimensioni del flusso corrente, in byte.
Info.ChunkFinished.uliStreamBytesTransferred
Totale byte copiati per questo flusso finora.
Info.ChunkFinished.uliTotalFileSize
Dimensioni di tutti i flussi per questo file, in byte.
Info.ChunkFinished.uliTotalBytesTransferred
Totale byte copiati per questo file finora.
Info.StreamStarted
Questa struttura viene selezionata se il membro Type è impostato su COPYFILE2_CALLBACK_STREAM_STARTED (3).
Info.StreamStarted.dwStreamNumber
Indica quale flusso all'interno del file sta per essere copiato. Il valore usato per identificare un flusso all'interno di un file inizierà a uno (1) e sarà sempre superiore a qualsiasi flusso precedente per tale file.
Info.StreamStarted.dwReserved
Questo membro è riservato per l'uso interno.
Info.StreamStarted.hSourceFile
Gestire il flusso di origine.
Info.StreamStarted.hDestinationFile
Gestire il flusso di destinazione.
Info.StreamStarted.uliStreamSize
Dimensioni del flusso corrente, in byte.
Info.StreamStarted.uliTotalFileSize
Dimensioni di tutti i flussi per questo file, in byte.
Info.StreamFinished
Questa struttura viene selezionata se il membro Type è impostato su COPYFILE2_CALLBACK_STREAM_FINISHED (4).
Info.StreamFinished.dwStreamNumber
Indica quale flusso all'interno del file sta per essere copiato. Il valore usato per identificare un flusso all'interno di un file inizierà a uno (1) e sarà sempre superiore a qualsiasi flusso precedente per tale file.
Info.StreamFinished.dwReserved
Questo membro è riservato per l'uso interno.
Info.StreamFinished.hSourceFile
Gestire il flusso di origine.
Info.StreamFinished.hDestinationFile
Gestire il flusso di destinazione.
Info.StreamFinished.uliStreamSize
Dimensioni del flusso corrente, in byte.
Info.StreamFinished.uliStreamBytesTransferred
Totale byte copiati per questo flusso finora.
Info.StreamFinished.uliTotalFileSize
Dimensioni di tutti i flussi per questo file, in byte.
Info.StreamFinished.uliTotalBytesTransferred
Totale byte copiati per questo file finora.
Info.PollContinue
Questa struttura viene selezionata se il membro Type è impostato su COPYFILE2_CALLBACK_POLL_CONTNUE (5).
Info.PollContinue.dwReserved
Questo membro è riservato per l'uso interno.
Info.Error
Questa struttura viene selezionata se il membro Type è impostato su COPYFILE2_CALLBACK_ERROR (6).
Info.Error.CopyPhase
Valore dell'enumerazione COPYFILE2_COPY_PHASE che indica la fase corrente della copia al momento dell'errore.
Info.Error.dwStreamNumber
Numero del flusso che è stato elaborato al momento dell'errore.
Info.Error.hrFailure
Valore che indica il problema.
Info.Error.dwReserved
Questo membro è riservato per l'uso interno.
Info.Error.uliChunkNumber
Indica quale blocco all'interno del flusso corrente è stato elaborato al momento dell'errore. Il valore usato per un blocco inizierà a zero (0) e sarà sempre superiore a quello di qualsiasi blocco precedente per il flusso corrente.
Info.Error.uliStreamSize
Dimensioni, in byte, del flusso in fase di elaborazione.
Info.Error.uliStreamBytesTransferred
Numero di byte trasferiti correttamente per il flusso in fase di elaborazione.
Info.Error.uliTotalFileSize
Dimensioni, in byte, del file totale da elaborare.
Info.Error.uliTotalBytesTransferred
Numero di byte trasferiti correttamente per l'intera operazione di copia.
Commenti
Per compilare un'applicazione che usa la struttura COPYFILE2_MESSAGE , definire la macro _WIN32_WINNT come 0x0601 o versione successiva. Per altre informazioni, vedere Uso delle intestazioni di Windows.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 8 [app desktop | App UWP] |
Server minimo supportato | Windows Server 2012 [app desktop | App UWP] |
Intestazione | winbase.h (include Windows.h) |