Функция CopyProgressRoutine

Функция CopyProgressRoutine - определяемая программой функция обратного вызова, используемая с функциями CopyFileEx и MoveFileWithProgress. Она вызывается тогда, когда завершается часть операции копирования или  пересылки. Тип LPPROGRESS_ROUTINE определяет указатель на эту функцию обратного вызова. CopyProgresRoutine - символ - заместитель для определяемого программой имени функции.

Синтаксис

DWORD CALLBACK CopyProgressRoutine(
  LARGE_INTEGER  TotalFileSize,          // размер файла
  LARGE_INTEGER  TotalBytesTransferred,  // переносимые байты
  LARGE_INTEGER  StreamSize,             // байты в потоке
  LARGE_INTEGER  StreamBytesTransferred, // переносимые потоком байты
  DWORD  dwStreamNumber,                 // текущий поток
  DWORD  dwCallbackReason,               // причина возврата
  HANDLE  hSourceFile,                   // дескриптор источ. файла
  HANDLE  hDestinationFile,              // дескриптор целевого файла
  LPVOID  lpData                         // из CopyFileEx
);

Параметры

TotalFileSize

[in] Общий размер файла, в байтах.

TotalBytesTransferred

[in] Общее количество байтов, перенесенных из  исходного файла в выходной файл, начиная от начала операции копирования.

StreamSize

[in] Общий размер текущего потока файла, в байтах.

StreamBytesTransferred

[in] Общее количество байтов в текущем потоке, которые были перенесены из исходного файла в выходной файл начиная от начала операции копирования.

dwStreamNumber

[in] Дескриптор текущего потока. При вызове CopyProgressRoutine в первый раз, число потоков равно 1.

dwCallbackReason

[in] Причина, по которой вызывается функция CopyProgressRoutine. Этот параметр может быть одним из нижеперечисленных значений.
Значение Предназначение
CALLBACK_CHUNK_FINISHED Была скопирована еще одна часть данных в файле.
CALLBACK_STREAM_SWITCH Был создан еще один поток  и он собирается делать копирование. Это -  причина повторного вызова возникает тогда, когда процедура повторного вызова  запускается впервые. 
 

hSourceFile

[in] Дескриптор исходного файла.

hDestinationFile

[in] Дескриптор выходного файла.

lpData

[in] Параметр передаваемый в CopyProgressRoutine функцией CopyFileEx или MoveFileWithProgress.

Возвращаемые значения

Функция CopyProgressRoutine должна возвратить одно из нижеперечисленных значений.

Значение Предназначение
PROGRESS_CONTINUE Продолжать операцию копирования.
PROGRESS_CANCEL Отменить операцию копирования и удалить выходной файл.
PROGRESS_STOP Остановить операцию копирования. Она может быть перезапущена позже.
PROGRESS_QUIET Продолжать операцию копирования, но прекратить вызывать функцию CopyProgressRoutine, чтобы сообщать о ходе её выполнения.
 

Замечания

Приложение может использовать эту информацию, чтобы показать на экране прогресс-индикатор, который показывает общее количество скопированных байтов, как процент от общего размера файла.

Смотри также 

Обзор Управление файламиФункции, используемые в управлении файлами, CopyFileEx, MoveFileWithProgress

Размещение и совместимость CopyProgressRoutine

К

Windows XP

Да 

л

Windows 2000 Professional

Да

и

Windows NT Workstation

Да версии 4.0

е

Windows Me

Нет

н

Windows 98

Нет

т

Windows 95

Нет

 
С

Windows Server 2003

Да

е Windows 2000 Server Да
р Windows NT Server Да версии 4.0
в    
е    
р    

Используемая библиотека

-

Используемая DLL -
 Заголовочный файл  

- объявлено в

Winbase.h

 - включено в

Windows.h

 Unicode

Нет

 Замечания по платформе

Не имеется

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz