estrutura COPYFILE2_MESSAGE (winbase.h)
Passado para a função de retorno de chamada CopyFile2ProgressRoutine com informações sobre uma operação de cópia pendente.
Sintaxe
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;
Membros
Type
Valor da enumeração COPYFILE2_MESSAGE_TYPE usada como um discriminador para a união info dentro dessa estrutura.
Valor | Significado |
---|---|
|
Indica que uma única parte de um fluxo começou a ser copiada. As informações estão na estrutura ChunkStarted dentro da união Info . |
|
Indica que a cópia de uma única parte de um fluxo foi concluída. As informações estão na estrutura ChunkFinished dentro da união Info . |
|
Indica que os identificadores de origem e destino de um fluxo foram abertos e a cópia do fluxo está prestes a ser iniciada. As informações estão na estrutura StreamStarted dentro da união De informações . Isso não indica que a cópia foi iniciada para esse fluxo. |
|
Indica que a operação de cópia de um fluxo começou a ser concluída, seja com êxito ou devido a um retorno de COPYFILE2_PROGRESS_STOP de CopyFile2ProgressRoutine. As informações estão na estrutura StreamFinished dentro da união De informações . |
|
Pode ser enviado periodicamente. As informações estão na estrutura PollContinue dentro da união Info . |
|
Um erro foi encontrado durante a operação de cópia. As informações estão na estrutura Erro dentro da união De informações . |
dwPadding
Info
Info.ChunkStarted
Essa estrutura será selecionada se o membro Type estiver definido como COPYFILE2_CALLBACK_CHUNK_STARTED (1).
Info.ChunkStarted.dwStreamNumber
Indica qual fluxo dentro do arquivo está prestes a ser copiado. O valor usado para identificar um fluxo dentro de um arquivo será iniciado em um (1) e sempre será maior do que qualquer fluxo anterior para esse arquivo.
Info.ChunkStarted.dwReserved
Esse membro é reservado para uso interno.
Info.ChunkStarted.hSourceFile
Manipule para o fluxo de origem.
Info.ChunkStarted.hDestinationFile
Manipule para o fluxo de destino.
Info.ChunkStarted.uliChunkNumber
Indica qual parte dentro do fluxo atual está prestes a ser copiada. O valor usado para uma parte começará em zero (0) e sempre será maior do que o de qualquer parte anterior para o fluxo atual.
Info.ChunkStarted.uliChunkSize
Tamanho da parte copiada, em bytes.
Info.ChunkStarted.uliStreamSize
Tamanho do fluxo atual, em bytes.
Info.ChunkStarted.uliTotalFileSize
Tamanho de todos os fluxos para esse arquivo, em bytes.
Info.ChunkFinished
Essa estrutura será selecionada se o membro Type estiver definido como COPYFILE2_CALLBACK_CHUNK_FINISHED (2).
ChunkFinished.dwReserved
Esse membro é reservado para uso interno.
Info.ChunkFinished.dwStreamNumber
Indica qual fluxo dentro do arquivo está prestes a ser copiado. O valor usado para identificar um fluxo dentro de um arquivo será iniciado em um (1) e sempre será maior do que qualquer fluxo anterior para esse arquivo.
Info.ChunkFinished.dwFlags
Info.ChunkFinished.hSourceFile
Manipule para o fluxo de origem.
Info.ChunkFinished.hDestinationFile
Manipule para o fluxo de destino.
Info.ChunkFinished.uliChunkNumber
Indica qual parte dentro do fluxo atual está em processo. O valor usado para uma parte começará em zero (0) e sempre será maior do que o de qualquer parte anterior para o fluxo atual.
Info.ChunkFinished.uliChunkSize
Tamanho da parte copiada, em bytes.
Info.ChunkFinished.uliStreamSize
Tamanho do fluxo atual, em bytes.
Info.ChunkFinished.uliStreamBytesTransferred
Total de bytes copiados para esse fluxo até agora.
Info.ChunkFinished.uliTotalFileSize
Tamanho de todos os fluxos para esse arquivo, em bytes.
Info.ChunkFinished.uliTotalBytesTransferred
Total de bytes copiados para esse arquivo até agora.
Info.StreamStarted
Essa estrutura será selecionada se o membro Type estiver definido como COPYFILE2_CALLBACK_STREAM_STARTED (3).
Info.StreamStarted.dwStreamNumber
Indica qual fluxo dentro do arquivo está prestes a ser copiado. O valor usado para identificar um fluxo dentro de um arquivo será iniciado em um (1) e sempre será maior do que qualquer fluxo anterior para esse arquivo.
Info.StreamStarted.dwReserved
Esse membro é reservado para uso interno.
Info.StreamStarted.hSourceFile
Manipule para o fluxo de origem.
Info.StreamStarted.hDestinationFile
Manipule para o fluxo de destino.
Info.StreamStarted.uliStreamSize
Tamanho do fluxo atual, em bytes.
Info.StreamStarted.uliTotalFileSize
Tamanho de todos os fluxos para esse arquivo, em bytes.
Info.StreamFinished
Essa estrutura será selecionada se o membro Type estiver definido como COPYFILE2_CALLBACK_STREAM_FINISHED (4).
Info.StreamFinished.dwStreamNumber
Indica qual fluxo dentro do arquivo está prestes a ser copiado. O valor usado para identificar um fluxo dentro de um arquivo será iniciado em um (1) e sempre será maior do que qualquer fluxo anterior para esse arquivo.
Info.StreamFinished.dwReserved
Esse membro é reservado para uso interno.
Info.StreamFinished.hSourceFile
Manipule para o fluxo de origem.
Info.StreamFinished.hDestinationFile
Manipule para o fluxo de destino.
Info.StreamFinished.uliStreamSize
Tamanho do fluxo atual, em bytes.
Info.StreamFinished.uliStreamBytesTransferred
Total de bytes copiados para esse fluxo até agora.
Info.StreamFinished.uliTotalFileSize
Tamanho de todos os fluxos para esse arquivo, em bytes.
Info.StreamFinished.uliTotalBytesTransferred
Total de bytes copiados para esse arquivo até agora.
Info.PollContinue
Essa estrutura será selecionada se o membro Type estiver definido como COPYFILE2_CALLBACK_POLL_CONTNUE (5).
Info.PollContinue.dwReserved
Esse membro é reservado para uso interno.
Info.Error
Essa estrutura será selecionada se o membro Type estiver definido como COPYFILE2_CALLBACK_ERROR (6).
Info.Error.CopyPhase
Valor da enumeração COPYFILE2_COPY_PHASE indicando a fase atual da cópia no momento do erro.
Info.Error.dwStreamNumber
O número do fluxo que estava sendo processado no momento do erro.
Info.Error.hrFailure
Valor que indica o problema.
Info.Error.dwReserved
Esse membro é reservado para uso interno.
Info.Error.uliChunkNumber
Indica qual parte dentro do fluxo atual estava sendo processada no momento do erro. O valor usado para uma parte começará em zero (0) e sempre será maior do que o de qualquer parte anterior para o fluxo atual.
Info.Error.uliStreamSize
Tamanho, em bytes, do fluxo que está sendo processado.
Info.Error.uliStreamBytesTransferred
Número de bytes que foram transferidos com êxito para o fluxo que está sendo processado.
Info.Error.uliTotalFileSize
Tamanho, em bytes, do arquivo total que está sendo processado.
Info.Error.uliTotalBytesTransferred
Número de bytes que foram transferidos com êxito para toda a operação de cópia.
Comentários
Para compilar um aplicativo que usa a estrutura COPYFILE2_MESSAGE , defina a macro _WIN32_WINNT como 0x0601 ou posterior. Para obter mais informações, consulte Usando os cabeçalhos do Windows.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2012 [aplicativos da área de trabalho | Aplicativos UWP] |
Cabeçalho | winbase.h (inclua Windows.h) |