Копирование файлов из архива

Начало  Предыдущая  Следующая

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

 

Loop1

 

Открытие архива:

 

 

-->ArcOpenW(PK_OM_EXTRACT)

 

 

 

<--ArcGetPasswordProcW (во время открытия плагин может спросить пароль, если есть шифрация)

 

 

Если архив не открылся, то выход

 

 

-->SetProcessDataProcW (устаревшая функция, запускается, если есть в плагине)

 

 

-->SetChangeVolProcW (устаревшая функция, запускается, если есть в плагине)

 

 

Если есть шифрация и пароль не спрашивался – -->ArcParamToPlug(PK_PARTOPLUG_PASSWORD)

 

Loop2 - Распаковка

 

 

-->ReadHeaderExW

 

 

Если результат не E_SUCCESS, то выход из Loop2

 

 

Если прочитанный файл не подходит, то -->ProcessFileW(PK_SKIP)

 

 

Иначе -->ProcessFileW(PK_EXTRACT)

 

 

переход на Loop2

 

-->CloseArchive

 

Если нет не подошедшего пароля, то выход из Loop1

 

переход на Loop1