ArcPackFilesW функция

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

Функция вызывается для создания архива или для добавления в него файлов или папок.

Синтаксис C++

int __stdcall ArcPackFilesW(

                _In_ wchar_t *PackedFile,

                _In_ wchar_t *SubPath,

                _In_ wchar_t *SrcPath,

                _In_ wchar_t *AddList,

                _In_ int Flags,

                _In_ __int64 Size,

                _In_ LONG_PTR Session,

                _In_ ArcProcessDataProcW ProcessDataW,

                _In_ LONG_PTR Reserved

);

 

Параметры

PackedFile [in]

Тип: wchar_t*

Полный путь к изменяемому или создаваемому архиву (0-терминированная строка).

SubPath [in]

Тип: wchar_t*

Подпапка внутри архива (0-терминированная строка). Если архивирование происходит в корень архива, то данный параметр содержит NULL.

Пример: если SubPath содержит "subdirectoryA1\subdirectoryA2", а в AddList содержится "subdirB1\subdirB2\file", то файл будет сохранен внутри архива в подпапке: " subdirectoryA1\subdirectoryA2\subdirB1\subdirB2\file" .

SrcPath [in]

Тип: wchar_t*

Содержит исходную папку всех архивируемых файлов, указанных в списке AddList. Путь, указанный в SrcPath, добавляется к пути всех файлов в AddList. Может иметь значение NULL.

AddList [in]

Тип: wchar_t*

Список архивируемых файлов или папок. Каждый файл – это 0-терминированная строка пути к нему. Файлы следуют подряд друг за другом. В конце последнего файла указывается дополнительный 0-символ. Т.е. список заканчивается двумя юникод символами 0.

Flags [in]

Тип: int

Состоит из битовой комбинации следующих значений:

Код

Комментарий

PK_PACKEX_MOVE_FILES

1

Удалять файлы после упаковки

PK_PACKEX_SAVE_PATHS

2

Сохранять подпапки файлов

PK_PACKEX_ENCRYPT

4

Плагин должен спросить пользователя о пароле, и упаковать с ним, зашифровав содержимое файлов

PK_PACKEX_ENCRYPTLIST

8

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

На данный момент, при установке этого флага всегда также устанавливается и PK_PACKEX_ENCRYPT. Т.е. это флаг более сильной шифрации.

PK_PACKEX_SOLID

16

Создавать непрерывный архив. Упаковщик должен проанализировать содержимое всех файлов как единое целое. Это позволяет уменьшить, порой весьма значительно, размер архива.

Size [in]

Тип: __int64

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

Если Size меньше 0, то это означает, что в Size содержится с минусом минимальный общий размер файлов, возможно, размер файлов и больше (не все файлы были просканированы).

Session [in]

Тип: LONG_PTR

Идентификатор сессии. Данное значение должно передаваться в процедуру ProcessDataW.

ProcessDataW [in]

Тип: ArcProcessDataProcW

Функция обратной связи. Служит для информирования о выполненном проценте и для возможности прервать выполнение процесса.

Reserved [in]

Тип: LONG_PTR

Зарезервировано. Должно равняться 0.

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

Тип: int

Возвращает в случае успеха 0, иначе – код ошибки.