estructura COPYFILE2_MESSAGE (winbase.h)

Se pasa a la función de devolución de llamada CopyFile2ProgressRoutine con información sobre una operación de copia pendiente.

Sintaxis

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;

Miembros

Type

Valor de la enumeración COPYFILE2_MESSAGE_TYPE utilizada como discriminante para la unión de información dentro de esta estructura.

Valor Significado
COPYFILE2_CALLBACK_CHUNK_STARTED
1
Indica que se ha empezado a copiar un único fragmento de una secuencia. La información se encuentra en la estructura ChunkStarted dentro de la unión de información .
COPYFILE2_CALLBACK_CHUNK_FINISHED
2
Indica que se ha completado la copia de un único fragmento de una secuencia. La información se encuentra en la estructura ChunkFinished dentro de la unión de información .
COPYFILE2_CALLBACK_STREAM_STARTED
3
Indica que se han abierto los identificadores de origen y destino de una secuencia y la copia de la secuencia está a punto de iniciarse. La información se encuentra en la estructura StreamStarted dentro de la unión de información . Esto no indica que la copia se ha iniciado para esa secuencia.
COPYFILE2_CALLBACK_STREAM_FINISHED
4
Indica que la operación de copia de una secuencia se ha iniciado para completarse correctamente o debido a un COPYFILE2_PROGRESS_STOP devolución de CopyFile2ProgressRoutine. La información se encuentra en la estructura StreamFinished dentro de la unión de información .
COPYFILE2_CALLBACK_POLL_CONTINUE
5
Puede enviarse periódicamente. La información se encuentra en la estructura PollContinue dentro de la unión de información .
COPYFILE2_CALLBACK_ERROR
6
Error durante la operación de copia. La información se encuentra en la estructura Error dentro de la unión de información .

dwPadding

Info

Info.ChunkStarted

Esta estructura se selecciona si el miembro Type está establecido en COPYFILE2_CALLBACK_CHUNK_STARTED (1).

Info.ChunkStarted.dwStreamNumber

Indica qué secuencia del archivo está a punto de copiarse. El valor usado para identificar una secuencia dentro de un archivo se iniciará en un (1) y siempre será mayor que cualquier secuencia anterior para ese archivo.

Info.ChunkStarted.dwReserved

Este miembro está reservado para uso interno.

Info.ChunkStarted.hSourceFile

Identificador de la secuencia de origen.

Info.ChunkStarted.hDestinationFile

Identificador de la secuencia de destino.

Info.ChunkStarted.uliChunkNumber

Indica qué fragmento de la secuencia actual está a punto de copiarse. El valor usado para un fragmento comenzará en cero (0) y siempre será mayor que el de cualquier fragmento anterior para la secuencia actual.

Info.ChunkStarted.uliChunkSize

Tamaño del fragmento copiado, en bytes.

Info.ChunkStarted.uliStreamSize

Tamaño de la secuencia actual, en bytes.

Info.ChunkStarted.uliTotalFileSize

Tamaño de todas las secuencias de este archivo, en bytes.

Info.ChunkFinished

Esta estructura se selecciona si el miembro Type está establecido en COPYFILE2_CALLBACK_CHUNK_FINISHED (2).

ChunkFinished.dwReserved

Este miembro está reservado para uso interno.

Info.ChunkFinished.dwStreamNumber

Indica qué secuencia del archivo está a punto de copiarse. El valor usado para identificar una secuencia dentro de un archivo se iniciará en un (1) y siempre será mayor que cualquier secuencia anterior para ese archivo.

Info.ChunkFinished.dwFlags

Info.ChunkFinished.hSourceFile

Identificador de la secuencia de origen.

Info.ChunkFinished.hDestinationFile

Identificador de la secuencia de destino.

Info.ChunkFinished.uliChunkNumber

Indica qué fragmento de la secuencia actual está en proceso. El valor usado para un fragmento comenzará en cero (0) y siempre será mayor que el de cualquier fragmento anterior para la secuencia actual.

Info.ChunkFinished.uliChunkSize

Tamaño del fragmento copiado, en bytes.

Info.ChunkFinished.uliStreamSize

Tamaño de la secuencia actual, en bytes.

Info.ChunkFinished.uliStreamBytesTransferred

Total de bytes copiados para esta secuencia hasta ahora.

Info.ChunkFinished.uliTotalFileSize

Tamaño de todas las secuencias de este archivo, en bytes.

Info.ChunkFinished.uliTotalBytesTransferred

Total de bytes copiados para este archivo hasta ahora.

Info.StreamStarted

Esta estructura se selecciona si el miembro Type está establecido en COPYFILE2_CALLBACK_STREAM_STARTED (3).

Info.StreamStarted.dwStreamNumber

Indica qué secuencia del archivo está a punto de copiarse. El valor usado para identificar una secuencia dentro de un archivo se iniciará en un (1) y siempre será mayor que cualquier secuencia anterior para ese archivo.

Info.StreamStarted.dwReserved

Este miembro está reservado para uso interno.

Info.StreamStarted.hSourceFile

Identificador de la secuencia de origen.

Info.StreamStarted.hDestinationFile

Identificador de la secuencia de destino.

Info.StreamStarted.uliStreamSize

Tamaño de la secuencia actual, en bytes.

Info.StreamStarted.uliTotalFileSize

Tamaño de todas las secuencias de este archivo, en bytes.

Info.StreamFinished

Esta estructura se selecciona si el miembro Type está establecido en COPYFILE2_CALLBACK_STREAM_FINISHED (4).

Info.StreamFinished.dwStreamNumber

Indica qué secuencia del archivo está a punto de copiarse. El valor usado para identificar una secuencia dentro de un archivo se iniciará en un (1) y siempre será mayor que cualquier secuencia anterior para ese archivo.

Info.StreamFinished.dwReserved

Este miembro está reservado para uso interno.

Info.StreamFinished.hSourceFile

Identificador de la secuencia de origen.

Info.StreamFinished.hDestinationFile

Identificador de la secuencia de destino.

Info.StreamFinished.uliStreamSize

Tamaño de la secuencia actual, en bytes.

Info.StreamFinished.uliStreamBytesTransferred

Total de bytes copiados para esta secuencia hasta ahora.

Info.StreamFinished.uliTotalFileSize

Tamaño de todas las secuencias de este archivo, en bytes.

Info.StreamFinished.uliTotalBytesTransferred

Total de bytes copiados para este archivo hasta ahora.

Info.PollContinue

Esta estructura se selecciona si el miembro Type está establecido en COPYFILE2_CALLBACK_POLL_CONTNUE (5).

Info.PollContinue.dwReserved

Este miembro está reservado para uso interno.

Info.Error

Esta estructura se selecciona si el miembro Type está establecido en COPYFILE2_CALLBACK_ERROR (6).

Info.Error.CopyPhase

Valor de la enumeración COPYFILE2_COPY_PHASE que indica la fase actual de la copia en el momento del error.

Info.Error.dwStreamNumber

Número de la secuencia que se estaba procesando en el momento del error.

Info.Error.hrFailure

Valor que indica el problema.

Info.Error.dwReserved

Este miembro está reservado para uso interno.

Info.Error.uliChunkNumber

Indica qué fragmento de la secuencia actual se estaba procesando en el momento del error. El valor usado para un fragmento comenzará en cero (0) y siempre será mayor que el de cualquier fragmento anterior para la secuencia actual.

Info.Error.uliStreamSize

Tamaño, en bytes, de la secuencia que se está procesando.

Info.Error.uliStreamBytesTransferred

Número de bytes que se han transferido correctamente para la secuencia que se está procesando.

Info.Error.uliTotalFileSize

Tamaño, en bytes, del archivo total que se está procesando.

Info.Error.uliTotalBytesTransferred

Número de bytes que se han transferido correctamente para toda la operación de copia.

Comentarios

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

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]
Encabezado winbase.h (incluye Windows.h)