struct RAROpenArchiveDataEx { char *ArcName; wchar_t *ArcNameW; unsigned int OpenMode; unsigned int OpenResult; char *CmtBuf; unsigned int CmtBufSize; unsigned int CmtSize; unsigned int CmtState; unsigned int Flags; UNRARCALLBACK Callback; LPARAM UserData; unsigned int Reserved[28]; };
This structure is used by RAROpenArchiveEx function.
Input parameter which should point to zero terminated string containing the archive name or NULL if only Unicode name is specified.
Input parameter which should point to zero terminated Unicode string containing the archive name or NULL if Unicode name is not specified.
Input parameter.
Possible values
- RAR_OM_LIST
Open archive for reading file headers only.
- RAR_OM_EXTRACT
Open archive for testing and extracting files.
- RAR_OM_LIST_INCSPLIT
Open archive for reading file headers only. If you open an archive in such mode, RARReadHeader[Ex] will return all file headers, including those with "file continued from previous volume" flag. In case of RAR_OM_LIST such headers are automatically skipped. So if you process RAR volumes in RAR_OM_LIST_INCSPLIT mode, you will get several file header records for same file if file is split between volumes. For such files only the last file header record will contain the correct file CRC and if you wish to get the correct packed size, you need to sum up packed sizes of all parts.
Output parameter.
Possible values:
0 Success ERAR_NO_MEMORY Not enough memory to initialize data structures ERAR_BAD_DATA Archive header broken ERAR_UNKNOWN_FORMAT Unknown encryption used for archive headers ERAR_EOPEN File open error ERAR_BAD_PASSWORD Entered password is invalid. This code is returned only for archives in RAR 5.0 format
Input parameter which should point to the buffer for archive comments. Maximum comment size is limited to 64Kb. Comment text is zero terminated. If the comment text is larger than the buffer size, the comment text will be truncated. If CmtBuf is set to NULL, comments will not be read.
Input parameter which should contain size of buffer for archive comments.
Output parameter containing size of comments actually read into the buffer, cannot exceed CmtBufSize.
Output parameter.
Possible values:
0 Comments are not present 1 Comments are read completely ERAR_NO_MEMORY Not enough memory to extract comments ERAR_BAD_DATA Broken comment ERAR_SMALL_BUF Buffer is too small, comments are not read completely.
Output parameter. Combination of bit flags..
Possible values:
0x0001 Volume attribute (archive volume) 0x0002 Archive comment present 0x0004 Archive lock attribute 0x0008 Solid attribute (solid archive) 0x0010 New volume naming scheme ('volname.partN.rar') 0x0020 Authenticity information present 0x0040 Recovery record present 0x0080 Block headers are encrypted 0x0100 First volume (set only by RAR 3.0 and later)
Address of user defined callback function to process UnRAR events.
Set it to NULL if you do not want to define the callback function. Callback function is required to process multivolume and encrypted archives properly.
User defined value, which will be passed to callback function.
Reserved for future use. Must be zero.
RAROpenArchiveEx function.
User defined callback function