CopyProgressRoutine
[New
- Windows NT]
The CopyProgressRoutine
function is called when a portion of a copy operation started by CopyFileEx
DWORD WINAPI CopyProgressRoutine(
LARGE_INTEGER TotalFileSize, |
// total file size,
in bytes |
LARGE_INTEGER TotalBytesTransferred, |
// total number of
bytes transferred |
LARGE_INTEGER StreamSize, |
// total number of
bytes for this stream |
LARGE_INTEGER StreamBytesTransferred, |
// total number of
bytes transferred for this stream |
DWORD dwStreamNumber, |
// the current
stream |
DWORD dwCallbackReason, |
// reason for callback |
HANDLE hSourceFile, |
// handle to the
source file |
HANDLE hDestinationFile, |
// handle to the destination
file |
LPVOID lpData |
// passed by CopyFileEx
|
); |
|
Parameters
TotalFileSize
The total
size of the file, in bytes.
TotalBytesTransferred
The total
number of bytes transferred from the source file to the destination file since
the copy operation began.
StreamSize
The total
size of the current file stream, in bytes.
StreamBytesTransferred
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
Identifies
the current stream. The stream number is 1 the first time CopyProgressRoutine
is called.
dwCallbackReason
Specifies the
reason that CopyProgressRoutine was called. This parameter can be one of
the following values:
Value |
Meaning |
CALLBACK_CHUNK_FINISHED |
Another
part of the data file was copied. |
CALLBACK_STREAM_SWITCH |
Another
stream was created and is about to be copied. This is the callback reason
given when the callback routine is first invoked. |
hSourceFile
Identifies
the source file.
hDestinationFile
Identifies
the destination file
lpData
The argument
passed to CopyProgressRoutine by the CopyFileEx
Return values
The CopyProgressRoutine
function should return one of the following values:
Value |
Meaning |
PROGRESS_CONTINUE |
Continue
the copy operation. |
PROGRESS_CANCEL |
Cancel the
copy operation and delete the destination file. |
PROGRESS_STOP |
Stop the
copy operation. It can be restarted at a later time. |
PROGRESS_QUIET |
Continue
the copy operation, but stop invoking CopyProgressRoutine to report
progress. |
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.
See Also