LPPROGRESS_ROUTINE función de devolución de llamada (winbase.h)

Función de devolución de llamada definida por la aplicación que se usa con las funciones CopyFileEx, MoveFileTransacted y MoveFileWithProgress. Se llama cuando se completa una parte de una operación de copia o movimiento. El tipo LPPROGRESS_ROUTINE define un puntero a esta función de devolución de llamada. CopyProgressRoutine es un marcador de posición para el nombre de función definido por la aplicación.

Sintaxis

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

Tamaño total del archivo, en bytes.

[in] TotalBytesTransferred

Número total de bytes transferidos desde el archivo de origen al archivo de destino desde que comenzó la operación de copia.

[in] StreamSize

Tamaño total de la secuencia de archivos actual, en bytes.

[in] StreamBytesTransferred

Número total de bytes en la secuencia actual que se han transferido desde el archivo de origen al archivo de destino desde que se inició la operación de copia.

[in] dwStreamNumber

Identificador de la secuencia actual. La primera vez que se llama a CopyProgressRoutine , el número de secuencia es 1.

[in] dwCallbackReason

Motivo por el que se llamó a CopyProgressRoutine . Este parámetro puede ser uno de los valores siguientes.

Valor Significado
CALLBACK_CHUNK_FINISHED
0x00000000
Se copió otra parte del archivo de datos.
CALLBACK_STREAM_SWITCH
0x00000001
Se creó otra secuencia y está a punto de copiarse. Este es el motivo de devolución de llamada dado cuando se invoca por primera vez la rutina de devolución de llamada.

[in] hSourceFile

Identificador del archivo de origen.

[in] hDestinationFile

Identificador del archivo de destino

[in, optional] lpData

Argumento pasado a CopyProgressRoutine por CopyFileEx, MoveFileTransacted o MoveFileWithProgress.

Valor devuelto

La función CopyProgressRoutine debe devolver uno de los valores siguientes.

Código o valor devuelto Descripción
PROGRESS_CANCEL
1
Cancele la operación de copia y elimine el archivo de destino.
PROGRESS_CONTINUE
0
Continúe con la operación de copia.
PROGRESS_QUIET
3
Continúe con la operación de copia, pero deje de invocar CopyProgressRoutine para notificar el progreso.
PROGRESS_STOP
2
Detenga la operación de copia. Se puede reiniciar más adelante.

Comentarios

Una aplicación puede usar esta información para mostrar una barra de progreso que muestra el número total de bytes copiados como un porcentaje del tamaño total del archivo.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winbase.h (incluya Windows.h)

Consulte también

CopyFileEx

Funciones de administración de archivos

MoveFileTransacted

MoveFileWithProgress