Applies to: desktop apps only
An application-defined callback function used with the CopyFileEx, MoveFileTransacted, and MoveFileWithProgress functions. It is called when a portion of a copy or move operation is completed. The LPPROGRESS_ROUTINE type defines a pointer to this callback function. CopyProgressRoutine is a placeholder for the application-defined function name.
Syntax
DWORD CALLBACK CopyProgressRoutine(
__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_opt LPVOID lpData
);
typedef DWORD (WINAPI *LPPROGRESS_ROUTINE)(
__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_opt LPVOID lpData
);
Parameters
- TotalFileSize [in]
-
The total size of the file, in bytes.
- TotalBytesTransferred [in]
-
The total number of bytes transferred from the source file to the destination file since the copy operation began.
- StreamSize [in]
-
The total size of the current file stream, in bytes.
- StreamBytesTransferred [in]
-
The total number of bytes in the current stream that have been transferred from the source file to the destination file since the copy operation began.
- dwStreamNumber [in]
-
A handle to the current stream. The first time CopyProgressRoutine is called, the stream number is 1.
- dwCallbackReason [in]
-
The reason that CopyProgressRoutine was called. This parameter can be one of the following values.
- hSourceFile [in]
-
A handle to the source file.
- hDestinationFile [in]
-
A handle to the destination file
- lpData [in, optional]
-
Argument passed to CopyProgressRoutine by CopyFileEx, MoveFileTransacted, or MoveFileWithProgress.
Return value
The CopyProgressRoutine function should return one of the following values.
| Return code/value | Description |
|---|---|
|
Cancel the copy operation and delete the destination file. |
|
Continue the copy operation. |
|
Continue the copy operation, but stop invoking CopyProgressRoutine to report progress. |
|
Stop the copy operation. It can be restarted at a later time. |
Remarks
An application can use this information to display a progress bar that shows the total number of bytes copied as a percent of the total file size.
Requirements
|
Minimum supported client | Windows XP |
|---|---|
|
Minimum supported server | Windows Server 2003 |
|
Header |
|
See also
Send comments about this topic to Microsoft
Build date: 5/5/2012
