[New - Windows NT]
当CopyFileEx启动的部分复制操作完成时,将调用CopyProgressRoutine功能。此函数是一个应用程序定义的回调例程。
DWORD WINAPI CopyProgressRoutine(hr
LARGE_INTEGER 【TotalFileSize】, | //总文件大小,以字节为单位 |
LARGE_INTEGER 【TotalBytesTransferred】, | //传送的总字节数 |
LARGE_INTEGER 【StreamSize】, | //此流的总字节数 |
LARGE_INTEGER 【StreamBytesTransferred】, | //为此流传输的总字节数 |
DWORD 【dwStreamNumber】, | //当前流 |
DWORD 【dwCallbackReason】, | //回调原因 |
HANDLE 【hSourceFile】, | //处理源文件 |
HANDLE 【hDestinationFile】, | //处理目标文件 |
LPVOID 【的lpData】 | //传递CopyFileEx |
); |
参数
【TotalFileSize】
文件的总大小(以字节为单位)。
【TotalBytesTransferred】
自复制操作开始以来,从源文件传输到目标文件的总字节数。
【StreamSize】
当前文件流的总大小(以字节为单位)。
【StreamBytesTransferred】
自复制操作开始以来,从源文件传输到目标文件的当前流中的总字节数。
【dwStreamNumber】
标识当前流。第一次CopyProgressRoutine被调用时,流号为1。
【dwCallbackReason】
指定调用CopyProgressRoutine的原因。此参数可以是以下值之一:
值 | 含义 |
CALLBACK_CHUNK_FINISHED | 数据文件的另一部分被复制。 |
CALLBACK_STREAM_SWITCH | 另一个流已创建,即将被复制。这是首次调用回调例程时给出的回调原因。 |
【hSourceFile】
标识源文件。
【hDestinationFile】
标识目的地文件
【的lpData】
该参数由CopyFileEx功能传递给CopyProgressRoutine.
返回值
CopyProgressRoutine函数应该返回以下值之一:
值 | 含义 |
PROGRESS_CONTINUE | 继续复制操作。 |
PROGRESS_CANCEL | 取消复制操作并删除目标文件。 |
PROGRESS_STOP | 停止复制操作。它可以在以后重新启动。 |
PROGRESS_QUIET | 继续复制操作,但停止调用CopyProgressRoutine报告进度。 |
备注
应用程序可以使用此信息显示一个进度条,显示复制的总字节数占总文件大小的百分比。
也可以看看