Функция CopyProgressRoutine – это определяемая приложением функция обратного вызова, используемая функциями CopyFileEx и MoveFileWithProgress. Она вызывается тогда, когда часть операции копирования или перемещения завершена. Тип LPPROGRESS_ROUTINE определяет адрес к этой функции обратного вызова. CopyProgressRoutine – это зарезервированное имя для определяемой приложением функции обратного вызова.
DWORD CALLBACKCopyProgressRoutine ( LARGE_INTEGERTotalFileSize , LARGE_INTEGERTotalBytesTransferred , LARGE_INTEGERStreamSize , LARGE_INTEGERStreamBytesTransferred , DWORDdwStreamNumber , DWORDdwCallbackReason , HANDLEhSourceFile , HANDLEhDestinationFile , LPVOIDlpData );
Параметры:
Конечный размер файла, в байтах. | |
Конечное количество байт, переданных от файла-источника к файлу-назначения, начиная от начала операции копирования. | |
Конечный размер текущего файлового потока, в байтах. | |
Конечное количество байт в текущем потоку, которые были переданы от файла-источника к файлу-назначения, начиная от начала операции копирования. | |
Дескриптор текущего потока. При первом вызове CopyProgressRoutine, поток имеет номер 1. | |
Причина, пот которой была вызвана CopyProgressRoutine. Этот параметр может принимать одно из следующих значений: - была скопирована другая часть данных файла. - Был создан другой поток и он в копировании. Это причиняется обратным вызовом, когда обратный вызов был вызван первый раз. | |
Дескриптор файла-источника. | |
Дескриптор файла-назначения. | |
Аргумент, переданный CopyProgressRoutine от функции CopyFileEx или MoveFileWithProgress. |
Возвращаемые значения:
Функция CopyProgressRoutine может возвращать одно из слудующих значений:
Значение: | Описание: |
Продолжение операции копирования. | |
Завершение операции копирования и удаление файла-назначения. | |
Останов операции копирования. Она может быть перезапущена позже. | |
Продолжение операции копирования, но останов вызова CopyProgressRoutine для отчета о прогрессе. |
Замечания:
Приложение может использовать эту функцию для отображения в своем окне процентного соотношения скопированных байт.
Смотрите также:
CopyFileEx, MoveFileWithProgress