ArcOpenDataW structure

Top  Previous  Next

Passed to function ArcOpenW.

Syntax 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];

};

 

Members

ArcNameW

Type: wchar_t*

Name of open archive file.

OpenMode

Type: unsigned int

One of the following:

Code

Comments

PK_OM_LIST

0

Archive to be open for reading file list only.

PK_OM_EXTRACT

1

Archive to be open for unpacking or testing.

out_OpenResult

Type: unsigned int

Error code if any according to the list.

out_ArcPropFlags

Type: unsigned int

Bit flags field. Bit meanings:

Code

Comments

PK_ARC_VOLUME

0x0001

Volume

PK_ARC_COMMENT

0x0002

Archive contains comments

PK_ARC_LOCK

0x0004

Archive is locked

PK_ARC_SOLID

0x0008

Solid archive

PK_ARC_AUTHENCITY_INFO

0x0020

Contains authenticity information

PK_ARC_RECOVERY_RECORD

0x0040

Contains recovery information

PK_ARC_HEADERS_ENCRYPTED

0x0080

File list is encrypted

PK_ARC_FIRST_VOL

0x0100

First volume

ExFlags

Type: unsigned int

Bit flags field with following meanings:

Code

Comments

PK_ARCEX_LOCK_ASK_PASS

0x0001

Prevents plugin from requesting password from the user.

May be used for instance to search in archives, skipping encrypted.

Session

Type: LONG_PTR

Input parameter. The parameter is passed to plugin in ArcGetPasswordProcW and ArcProcessDataProcW. The parameter may be used inside the plugin as the plugin identifier.

Required to correctly process multiple archives simultaneously.

ProcessDataW

Type: ArcProcessDataProcW

Pointer to a progress and feedback function. Plugin must remember the function for later use.

Optional. May be NULL.

Reserved

Type: LONG_PTR[8]

Reserved for future use, must be NULL.