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 |
---|---|
|
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 . |
|
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 . |
|
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. |
|
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 . |
|
Puede enviarse periódicamente. La información se encuentra en la estructura PollContinue dentro de la unión de información . |
|
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) |