Compartir a través de


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

Una función de devolución de llamada definida por la aplicación que se usa con la función CopyFile2. Se llama cuando se completa una parte de una operación de copia o movimiento. El tipo PCOPYFILE2_PROGRESS_ROUTINE define un puntero a esta función de devolución de llamada. CopyFile2ProgressRoutine es un marcador de posición para el nombre de la función definida por la aplicación.

Sintaxis

PCOPYFILE2_PROGRESS_ROUTINE Pcopyfile2ProgressRoutine;

COPYFILE2_MESSAGE_ACTION Pcopyfile2ProgressRoutine(
  [in]           const COPYFILE2_MESSAGE *pMessage,
  [in, optional] PVOID pvCallbackContext
)
{...}

Parámetros

[in] pMessage

Puntero a una estructura de COPYFILE2_MESSAGE .

[in, optional] pvCallbackContext

Copia del valor pasado en el miembro pvCallbackContext de la estructura COPYFILE2_EXTENDED_PARAMETERS pasada a CopyFile2.

Valor devuelto

Valor de la enumeración COPYFILE2_MESSAGE_ACTION que indica qué acción se debe realizar.

Código o valor devuelto Descripción
COPYFILE2_PROGRESS_CONTINUE
0
Continúe con la operación de copia.
COPYFILE2_PROGRESS_CANCEL
1
Cancele la operación de copia. Se producirá un error en la función CopyFile2 , se devolverán HRESULT_FROM_WIN32(ERROR_REQUEST_ABORTED) y se eliminarán los fragmentos copiados parcialmente.
COPYFILE2_PROGRESS_STOP
2
Detenga la operación de copia. Se producirá un error en la función CopyFile2 , se devolverá HRESULT_FROM_WIN32(ERROR_REQUEST_ABORTED) y los fragmentos copiados parcialmente se dejaron intactos. La operación se puede reiniciar con la marca COPY_FILE_RESUME_FROM_PAUSE solo si COPY_FILE_RESTARTABLE se estableció en el miembro dwCopyFlags de la estructura COPYFILE2_EXTENDED_PARAMETERS pasada a la función CopyFile2 .
COPYFILE2_PROGRESS_QUIET
3
Continúe con la operación de copia, pero no llame de nuevo a la función de devolución de llamada CopyFile2ProgressRoutine para esta operación.
COPYFILE2_PROGRESS_PAUSE
4
Pausa la operación de copia. En la mayoría de los casos, se producirá un error en la función CopyFile2 y se devolverán HRESULT_FROM_WIN32(ERROR_REQUEST_PAUSED) y los fragmentos copiados parcialmente se dejarán intactos (excepto el encabezado escrito que se usa para reanudar la operación de copia más adelante). En caso de que la operación de copia se haya completado en el momento en que la solicitud de pausa se procese, la llamada CopyFile2 se completará correctamente y no se escribirá ningún encabezado de reanudación.

Comentarios

El mensaje COPYFILE2_CALLBACK_STREAM_FINISHED es el último mensaje de una copia en pausa. Si COPYFILE2_PROGRESS_PAUSE se devuelve en respuesta a un mensaje de COPYFILE2_CALLBACK_STREAM_FINISHED , no se enviarán más devoluciones de llamada.

Para compilar una aplicación que usa el tipo de puntero de función PCOPYFILE2_PROGRESS_ROUTINE , defina la macro _WIN32_WINNT como 0x0601 o posterior. Para obtener más información, vea Usar los encabezados de Windows.

En Windows 8 y Windows Server 2012, esta función es compatible con las tecnologías siguientes.

Tecnología Compatible
Protocolo Bloque de mensajes del servidor (SMB) 3.0
Conmutación por error transparente (TFO) de SMB 3.0
SMB 3.0 con recursos compartidos de archivos de escalabilidad horizontal (SO)
Sistema de archivos de Volumen compartido de clúster (CsvFS)
Sistema de archivos resistente a errores (ReFS)

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8 [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2012 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado winbase.h (incluye Windows.h)