LPPROGRESS_ROUTINE função de retorno de chamada (winbase.h)
Uma função de retorno de chamada definida pelo aplicativo usada com as funções CopyFileEx, MoveFileTransacted e MoveFileWithProgress. Ele é chamado quando uma parte de uma operação de cópia ou movimentação é concluída. O tipo LPPROGRESS_ROUTINE define um ponteiro para essa função de retorno de chamada. CopyProgressRoutine é um espaço reservado para o nome da função definida pelo aplicativo.
Sintaxe
LPPROGRESS_ROUTINE LpprogressRoutine;
DWORD LpprogressRoutine(
[in] LARGE_INTEGER TotalFileSize,
[in] LARGE_INTEGER TotalBytesTransferred,
[in] LARGE_INTEGER StreamSize,
[in] LARGE_INTEGER StreamBytesTransferred,
[in] DWORD dwStreamNumber,
[in] DWORD dwCallbackReason,
[in] HANDLE hSourceFile,
[in] HANDLE hDestinationFile,
[in, optional] LPVOID lpData
)
{...}
Parâmetros
[in] TotalFileSize
O tamanho total do arquivo, em bytes.
[in] TotalBytesTransferred
O número total de bytes transferidos do arquivo de origem para o arquivo de destino desde o início da operação de cópia.
[in] StreamSize
O tamanho total do fluxo de arquivos atual, em bytes.
[in] StreamBytesTransferred
O número total de bytes no fluxo atual que foram transferidos do arquivo de origem para o arquivo de destino desde o início da operação de cópia.
[in] dwStreamNumber
Um identificador para o fluxo atual. Na primeira vez que CopyProgressRoutine é chamado, o número do fluxo é 1.
[in] dwCallbackReason
O motivo pelo qual CopyProgressRoutine foi chamado. Esse parâmetro pode usar um dos valores a seguir.
[in] hSourceFile
Um identificador para o arquivo de origem.
[in] hDestinationFile
Um identificador para o arquivo de destino
[in, optional] lpData
Argumento passado para CopyProgressRoutine por CopyFileEx, MoveFileTransacted ou MoveFileWithProgress.
Retornar valor
A função CopyProgressRoutine deve retornar um dos valores a seguir.
Valor/código retornado | Descrição |
---|---|
|
Cancele a operação de cópia e exclua o arquivo de destino. |
|
Continue a operação de cópia. |
|
Continue a operação de cópia, mas pare de invocar CopyProgressRoutine para relatar o progresso. |
|
Interrompa a operação de cópia. Ele pode ser reiniciado posteriormente. |
Comentários
Um aplicativo pode usar essas informações para exibir uma barra de progresso que mostra o número total de bytes copiados como uma porcentagem do tamanho total do arquivo.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winbase.h (inclua Windows.h) |