ArcOpenDataW структура

ArcOpenDataW структура

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

Передается в функцию ArcOpenW.

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

typedef struct ArcOpenDataW {

                wchar_t             *ArcNameW;

                unsigned int        OpenMode;

                unsigned int        out_OpenResult;

                unsigned int        out_ArcPropFlags;

                unsigned int        ExFlags;

                LONG_PTR            Session;

                ArcProcessDataProcW ProcessDataW;

                LONG_PTR            Reserved[8];

};

 

Члены

ArcNameW

Тип: wchar_t*

Имя открываемого файла архива.

OpenMode

Тип: unsigned int

Поле имеет одно из указанных значений:

Код

Комментарий

PK_OM_LIST

0

Архив открывается только для чтения списка файлов.

PK_OM_EXTRACT

1

Архив открывается для распаковки или тестирования.

out_OpenResult

Тип: unsigned int

В случае ошибки плагин сюда записывает код ошибки согласно списку.

out_ArcPropFlags

Тип: unsigned int

Это битовое поле заполняется плагином, может содержать следующие значения:

Код

Комментарий

PK_ARC_VOLUME

0x0001

Признак тома

PK_ARC_COMMENT

0x0002

Архив содержит комментарии

PK_ARC_LOCK

0x0004

Признак блокировки архива

PK_ARC_SOLID

0x0008

Непрерывный архив

PK_ARC_AUTHENCITY_INFO

0x0020

Содержит информацию о подлинности

PK_ARC_RECOVERY_RECORD

0x0040

Содержит информацию для восстановления

PK_ARC_HEADERS_ENCRYPTED

0x0080

Список файлов зашифрован

PK_ARC_FIRST_VOL

0x0100

Первый том

ExFlags

Тип: unsigned int

Это битовое поле заполняется программой, может содержать следующие значения:

Код

Комментарий

PK_ARCEX_LOCK_ASK_PASS

0x0001

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

Необходимо, например, для поиска без захода в зашифрованные архивы.

Session

Тип: LONG_PTR

Входной параметр. Плагин должен этот параметр передаваться в ArcGetPasswordProcW и ArcProcessDataProcW. Данный параметр можно использовать внутри плагина в качестве идентификатора архива.

Необходим для обеспечения корректной параллельной обработки нескольких архивов одновременно.

ProcessDataW

Тип: ArcProcessDataProcW

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

Если плагину прогресс и обратная связь не требуется, то данное поле может быть равно NULL.

Reserved

Тип: LONG_PTR[8]

Зарезервировано для дальнейшего использования, должно равняться NULL.