Reading list of files in archive

Top  Previous  Next

Here is a common sequence of plugin function calls and what program functions the plugin can call.

 

Loop1

 

Archive opening:

 

 

-->ArcOpenW(PK_OM_LIST)

 

 

 

<--ArcGetPasswordProcW (for protected archives, the archive may request password during opening)

 

 

If archive didn't open and plugin requested invalid password – go to Loop1

 

 

If archive didn't open – exit

 

 

-->SetProcessDataProcW (deprecated function, which gets executed if presents in the plugin)

 

 

-->SetChangeVolProcW (deprecated function, which gets executed if presents in the plugin)

 

 

If plugin didn't request a password, but the list is encrypted – -->ArcParamToPlug(PK_PARTOPLUG_PASSWORD)

 

Loop2 - Archive scanning:

 

 

-->ReadHeaderExW

 

 

If result is E_BAD_DATA, go to End1

 

 

If result not E_SUCCESS, go to End2

 

 

-->ProcessFileW(PK_SKIP)

 

 

go to Loop2

 

End1:

-->CloseArchive

go to Loop1

End2:

-->CloseArchive