struct RARHeaderDataEx { char ArcName[1024]; wchar_t ArcNameW[1024]; char FileName[1024]; wchar_t FileNameW[1024]; unsigned int Flags; unsigned int PackSize; unsigned int PackSizeHigh; unsigned int UnpSize; unsigned int UnpSizeHigh; unsigned int HostOS; unsigned int FileCRC; unsigned int FileTime; unsigned int UnpVer; unsigned int Method; unsigned int FileAttr; char *CmtBuf; unsigned int CmtBufSize; unsigned int CmtSize; unsigned int CmtState; unsigned int DictSize; unsigned int HashType; char Hash[32]; unsigned int RedirType; wchar_t *RedirName; unsigned int RedirNameSize; unsigned int DirTarget; unsigned int Reserved[994]; };
This structure is used by RARReadHeaderEx function. Please fill either the entire structure or at least its Reserved field with zeroes before passing to RARReadHeaderEx.
Output parameter, which contains a zero terminated string of the current archive name. May be used to determine the current volume name.
Output parameter, which contains a zero terminated string of the current archive name in Unicode. May be used to determine the current volume name.
Output parameter, which contains a zero terminated string of the file name in OEM (DOS) encoding.
Output parameter, which contains a zero terminated string of the file name in Unicode.
Output parameter which contains file flags:
RHDF_SPLITBEFORE 0x01 File continued from previous volume RHDF_SPLITAFTER 0x02 File continued on next volume RHDF_ENCRYPTED 0x04 File encrypted with password 0x08 Reserved RHDF_SOLID 0x10 Previous files data is used (solid flag) RHDF_DIRECTORY 0x20 Directory entry
Output parameter. Lower 32 bits of packed file size. If file is split between volumes, it contains the lower 32 bits of file part size.
Output parameter. Higher 32 bits of packed file size. If file is split between volumes, it contains the higher 32 bits of file part size.
Output parameter. Lower 32 bits of unpacked file size.
Output parameter. Higher 32 bits of unpacked file size.
Output parameter. Operating system used to create the archive.
0 MS DOS 1 OS/2 2 Windows 3 Unix
Output parameter, which contains unpacked file CRC32. In case of file parts split between volumes only the last part contains the correct CRC and it is accessible only in RAR_OM_LIST_INCSPLIT listing mode.
Output parameter. Contains the file modification date and time in standard MS DOS format.
Output parameter. RAR version needed to extract file. It is encoded as 10 * Major version + minor version.
Output parameter. Packing method.
0x30 Storing 0x31 Fastest compression 0x32 Fast compression 0x33 Normal compression 0x34 Good compression 0x35 Best compression
Output parameter. File attributes.
Input parameter. Points to the buffer for file comment.
File comment support is not implemented in current unrar.dll version. Appropriate parameters are preserved only for compatibility with older versions.
Set this field to NULL.
Input parameter. Size of buffer for file comments.
File comment support is not implemented in current unrar.dll version.
Set this field to 0.
Output parameter. Size of file comment read into buffer.
File comment support is not implemented in current unrar.dll version.
Always equal to 0.
Output parameter. State of file comment.
File comment support is not implemented in current unrar.dll version.
Always equal to 0.
Output parameter. Size of file compression dictionary in kilobytes.
Output parameter. Type of hash function used to protect file data integrity. Can be RAR_HASH_NONE (no checksum or unknown hash function type), RAR_HASH_CRC32 (CRC32) or RAR_HASH_BLAKE2 (BLAKE2sp)
Output parameter. If HashType is equal to RAR_HASH_BLAKE2, this array contains 32 bytes of file data BLAKE2sp hash.
Output parameter. Type of file system redirection.
0 No redirection, usual file. 1 Unix symbolic link 2 Windows symbolic link 3 Windows junction 4 Hard link 5 File reference saved with -oi switch
Input/output parameter. Pointer to buffer to receive file system redirection target name, such as target of symbolic link or file reference. It is returned as stored in archive and its value might be not immediately applicable for further use. For example, you may need to remove \??\ or UNC\ prefixes for Windows junctions or prepend the extraction destination path.
If you set RedirName to NULL, it is ignored and nothing is returned here.
Input parameter. Size of buffer specified in RedirName. Ignored if RedirName is NULL.
Output parameter. Non-zero if RedirType is symbolic link and RedirName points to directory.
Reserved for future use. The entire array must be filled with zeroes before passing RARHeaderDataEx structure to RARReadHeaderEx.
RARReadHeaderEx function.