293 lines
7.4 KiB
HTML
293 lines
7.4 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html>
|
|
|
|
<head>
|
|
<title>UnRAR.dll Manual</title>
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<h3>RARHeaderDataEx structure</h3>
|
|
|
|
<pre>
|
|
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];
|
|
};
|
|
</pre>
|
|
|
|
<h3>Description</h3>
|
|
<p>This structure is used by <a href="RARReadHeaderEx.htm">RARReadHeaderEx</a>
|
|
function. Please fill either the entire structure or at least its Reserved
|
|
field with zeroes before passing to RARReadHeaderEx.</p>
|
|
|
|
<h3>Structure fields</h3>
|
|
|
|
<ul>
|
|
<li>
|
|
<i>ArcName</i>
|
|
<blockquote>
|
|
Output parameter, which contains a zero terminated string of the current
|
|
archive name. May be used to determine the current volume name.
|
|
</blockquote>
|
|
|
|
<li>
|
|
<i>ArcNameW</i>
|
|
<blockquote>
|
|
Output parameter, which contains a zero terminated string of the current
|
|
archive name in Unicode. May be used to determine the current volume name.
|
|
</blockquote>
|
|
|
|
<li>
|
|
<i>FileName</i>
|
|
<blockquote>
|
|
Output parameter, which contains a zero terminated string of the file name
|
|
in OEM (DOS) encoding.
|
|
</blockquote>
|
|
|
|
<li>
|
|
<i>FileNameW</i>
|
|
<blockquote>
|
|
Output parameter, which contains a zero terminated string of the file name
|
|
in Unicode.
|
|
</blockquote>
|
|
|
|
<li>
|
|
<i>Flags</i>
|
|
<blockquote>
|
|
<p>Output parameter which contains file flags:</p>
|
|
<table border="1">
|
|
<tr><td>RHDF_SPLITBEFORE</td><td>0x01</td><td>File continued from previous volume</td></tr>
|
|
<tr><td>RHDF_SPLITAFTER</td><td>0x02</td><td>File continued on next volume</td></tr>
|
|
<tr><td>RHDF_ENCRYPTED</td><td>0x04</td><td>File encrypted with password</td></tr>
|
|
<tr><td></td><td>0x08</td><td>Reserved</td></tr>
|
|
<tr><td>RHDF_SOLID</td><td>0x10</td><td>Previous files data is used (solid flag)</td></tr>
|
|
<tr><td>RHDF_DIRECTORY</td><td>0x20</td><td>Directory entry</td></tr>
|
|
</table>
|
|
</blockquote>
|
|
|
|
<li>
|
|
<i>PackSize</i>
|
|
<blockquote>
|
|
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.
|
|
</blockquote>
|
|
|
|
<li>
|
|
<i>PackSizeHigh</i>
|
|
<blockquote>
|
|
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.
|
|
</blockquote>
|
|
|
|
<li>
|
|
<i>UnpSize</i>
|
|
<blockquote>
|
|
Output parameter. Lower 32 bits of unpacked file size.
|
|
</blockquote>
|
|
|
|
<li>
|
|
<i>UnpSizeHigh</i>
|
|
<blockquote>
|
|
Output parameter. Higher 32 bits of unpacked file size.
|
|
</blockquote>
|
|
|
|
<li>
|
|
<i>HostOS</i>
|
|
<blockquote>
|
|
<p>Output parameter. Operating system used to create the archive.</p>
|
|
|
|
<table border="1">
|
|
<tr><td>0</td><td>MS DOS</td></tr>
|
|
<tr><td>1</td><td>OS/2</td></tr>
|
|
<tr><td>2</td><td>Windows</td></tr>
|
|
<tr><td>3</td><td>Unix</td></tr>
|
|
</table>
|
|
</blockquote>
|
|
|
|
<li>
|
|
<i>FileCRC</i>
|
|
<blockquote>
|
|
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.
|
|
</blockquote>
|
|
|
|
<li>
|
|
<i>FileTime</i>
|
|
<blockquote>
|
|
Output parameter. Contains the file modification date and time in standard
|
|
MS DOS format.
|
|
</blockquote>
|
|
|
|
<li>
|
|
<i>UnpVer</i>
|
|
<blockquote>
|
|
Output parameter. RAR version needed to extract file.
|
|
It is encoded as 10 * Major version + minor version.
|
|
</blockquote>
|
|
|
|
<li>
|
|
<i>Method</i>
|
|
<blockquote>
|
|
<p>Output parameter. Packing method.</p>
|
|
|
|
<table border="1">
|
|
<tr><td>0x30</td><td>Storing</td></tr>
|
|
<tr><td>0x31</td><td>Fastest compression</td></tr>
|
|
<tr><td>0x32</td><td>Fast compression</td></tr>
|
|
<tr><td>0x33</td><td>Normal compression</td></tr>
|
|
<tr><td>0x34</td><td>Good compression</td></tr>
|
|
<tr><td>0x35</td><td>Best compression</td></tr>
|
|
</table>
|
|
|
|
</blockquote>
|
|
|
|
<li>
|
|
<i>FileAttr</i>
|
|
<blockquote>
|
|
Output parameter. File attributes.
|
|
</blockquote>
|
|
</ul>
|
|
|
|
<li>
|
|
<i>CmtBuf</i>
|
|
<blockquote>
|
|
<p>Input parameter. Points to the buffer for file comment.</p>
|
|
<p>File comment support is not implemented in current unrar.dll version.
|
|
Appropriate parameters are preserved only for compatibility
|
|
with older versions.</p>
|
|
<p>Set this field to NULL.</p>
|
|
</blockquote>
|
|
|
|
<li>
|
|
<i>CmtBufSize</i>
|
|
<blockquote>
|
|
<p>Input parameter. Size of buffer for file comments.</p>
|
|
<p>File comment support is not implemented in current unrar.dll version.</p>
|
|
<p>Set this field to 0.</p>
|
|
</blockquote>
|
|
|
|
<li>
|
|
<i>CmtSize</i>
|
|
<blockquote>
|
|
<p>Output parameter. Size of file comment read into buffer.</p>
|
|
<p>File comment support is not implemented in current unrar.dll version.</p>
|
|
<p>Always equal to 0.</p>
|
|
</blockquote>
|
|
|
|
<li>
|
|
<i>CmtState</i>
|
|
<blockquote>
|
|
<p>Output parameter. State of file comment.</p>
|
|
<p>File comment support is not implemented in current unrar.dll version.</p>
|
|
<p>Always equal to 0.</p>
|
|
</blockquote>
|
|
|
|
<li>
|
|
<i>DictSize</i>
|
|
<blockquote>
|
|
<p>Output parameter. Size of file compression dictionary in kilobytes.
|
|
</blockquote>
|
|
|
|
<li>
|
|
<i>HashType</i>
|
|
<blockquote>
|
|
<p>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)</p>
|
|
</blockquote>
|
|
|
|
<li>
|
|
<i>Hash</i>
|
|
<blockquote>
|
|
<p>Output parameter. If HashType is equal to RAR_HASH_BLAKE2, this array
|
|
contains 32 bytes of file data BLAKE2sp hash.</p>
|
|
</blockquote>
|
|
|
|
<li>
|
|
<i>RedirType</i>
|
|
<blockquote>
|
|
<p>Output parameter. Type of file system redirection.</p>
|
|
<table border="1">
|
|
<tr><td>0</td><td>No redirection, usual file.</td></tr>
|
|
<tr><td>1</td><td>Unix symbolic link</td></tr>
|
|
<tr><td>2</td><td>Windows symbolic link</td></tr>
|
|
<tr><td>3</td><td>Windows junction</td></tr>
|
|
<tr><td>4</td><td>Hard link</td></tr>
|
|
<tr><td>5</td><td>File reference saved with -oi switch</td></tr>
|
|
</table>
|
|
|
|
</blockquote>
|
|
|
|
<li>
|
|
<i>RedirName</i>
|
|
<blockquote>
|
|
<p>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.</p>
|
|
<p>If you set RedirName to NULL, it is ignored and nothing is returned
|
|
here.</p>
|
|
</blockquote>
|
|
|
|
<li>
|
|
<i>RedirNameSize</i>
|
|
<blockquote>
|
|
<p>Input parameter. Size of buffer specified in RedirName. Ignored if
|
|
RedirName is NULL.</p>
|
|
</blockquote>
|
|
|
|
<li>
|
|
<i>DirTarget</i>
|
|
<blockquote>
|
|
<p>Output parameter. Non-zero if RedirType is symbolic link
|
|
and RedirName points to directory.</p>
|
|
</blockquote>
|
|
|
|
<li>
|
|
<i>Reserved</i>
|
|
<blockquote>
|
|
Reserved for future use. The entire array must be filled with zeroes
|
|
before passing RARHeaderDataEx structure to RARReadHeaderEx.
|
|
</blockquote>
|
|
|
|
</ul>
|
|
|
|
<h3>See also</h3>
|
|
<blockquote>
|
|
<a href="RARReadHeaderEx.htm">RARReadHeaderEx</a> function.
|
|
</blockquote>
|
|
|
|
</body>
|
|
|
|
</html>
|