SevenZipSharp
The Stream extension class to emulate the archive part of a stream.
Gets the file offset.
The source wrapped stream.
Initializes a new instance of the ArchiveEmulationStream class.
The stream to wrap.
The stream offset.
Archive extraction callback to handle the process of unpacking files
For Compressing event.
Rate of the done work from [0, 1].
Usage: string legalFilename = InvalidFileNameCharsRegex.Replace(illegal, "_");
Usage: string legalPath = InvalidPathCharsRegex.Replace(illegal, "_");
Initializes a new instance of the ArchiveExtractCallback class
IInArchive interface for the archive
Directory where files are to be unpacked to
The archive files count'
The owner of the callback
The list of actual indexes (solid archives support)
The value indicating whether to preserve directory structure of extracted files.
Alt Paths.
Initializes a new instance of the ArchiveExtractCallback class.
IInArchive interface for the archive.
Directory where files are to be unpacked to.
The archive files count.
The value indicating whether to preserve directory
structure of extracted files.
The list of actual indexes (solid archives support)
Alt Paths.
Password for the archive.
The owner of the callback.
Initializes a new instance of the ArchiveExtractCallback class
IInArchive interface for the archive
The stream where files are to be unpacked to
The archive files count
The file index for the stream
The owner of the callback
Initializes a new instance of the ArchiveExtractCallback class
IInArchive interface for the archive
The stream where files are to be unpacked to
The archive files count
The file index for the stream
Password for the archive
The owner of the callback
Occurs when a new file is going to be unpacked
Occurs when 7-zip engine requests for an output stream for a new file to unpack in
Occurs when a file has been successfully unpacked
Occurs when the archive is opened and 7-zip sends the size of unpacked data
Occurs when the extraction is performed
Occurs during the extraction when a file already exists
Gives the size of the unpacked archive files
Size of the unpacked archive files (in bytes)
Sets output stream for writing unpacked data
Current file index
Output stream pointer
Extraction mode
0 if OK
Called when the archive was extracted
Sets password for the archive
Password for the archive
Zero if everything is OK
Validates the file name and ensures that the directory to the file name is valid and creates intermediate directories if necessary
File name
The valid file name
Given a proposed filename, returns a string that eliminates any disallowed characters.
If stripping characters results in an empty string, it returns '_'
proposed filename.
Sanitized filename.
Given a proposed directory path, returns a string that eliminates any disallowed characters.
If stripping characters results in an empty string, it returns '_'
proposed pathname.
Sanitized pathname.
Callback to handle the archive opening
Gets the list of volume file names.
Performs the common initialization.
Volume file name.
Initializes a new instance of the ArchiveOpenCallback class.
The archive file name.
Initializes a new instance of the ArchiveOpenCallback class.
The archive file name.
Password for the archive.
Sets password for the archive
Password for the archive
Zero if everything is OK
Archive update callback to handle the process of packing files
_files.Count if do not count directories
For Compressing event.
No directories.
Rate of the done work from [0, 1]
The names of the archive entries
Array of files to pack
Common root of file names length.
Input streams to be compressed.
Gets or sets the default item name used in MemoryStream compression.
Gets or sets the value indicating whether to compress as fast as possible, without calling events.
Initializes a new instance of the ArchiveUpdateCallback class.
Array of files to pack.
List of names of the alternates.
Common file names root length.
The owner of the callback.
The compression parameters.
Preserve directory structure.
Initializes a new instance of the ArchiveUpdateCallback class.
Array of files to pack.
List of names of the alternates.
Common file names root length.
The archive password.
The owner of the callback.
The compression parameters.
Preserve directory structure.
Initializes a new instance of the ArchiveUpdateCallback class
The input stream
The owner of the callback
The compression parameters.
Preserve directory structure.
Initializes a new instance of the ArchiveUpdateCallback class
The input stream
The archive password
The owner of the callback
The compression parameters.
Preserve directory structure.
Initializes a new instance of the ArchiveUpdateCallback class
Dictionary<file stream, name of the archive entry>
The owner of the callback
The compression parameters.
Preserve directory structure.
Initializes a new instance of the ArchiveUpdateCallback class
Dictionary<file stream, name of the archive entry>
The archive password
The owner of the callback
The compression parameters.
Preserve directory structure.
Gets or sets the dictionary size.
Raises events for the GetStream method.
The current item index.
True if not cancelled; otherwise, false.
Occurs when the next file is going to be packed.
Occurs when 7-zip engine requests for an input stream for the next file to pack it
Occurs when data are being compressed.
Occurs when the current file was compressed.
Gets the stream for 7-zip library.
File index
Input file stream
Zero if Ok
The structure to fix x64 and x32 variant size mismatch.
COM VARIANT structure with special interface routines.
IntPtr variant value.
Signed int variant value.
Unsigned int variant value.
Long variant value.
Unsigned long variant value.
FILETIME variant value.
The PropArray instance to fix the variant size on x64 bit systems.
Gets or sets variant type.
Gets or sets the pointer value of the COM variant
Gets or sets the UInt32 value of the COM variant.
Gets or sets the UInt32 value of the COM variant.
Gets or sets the Int64 value of the COM variant
Gets or sets the UInt64 value of the COM variant
Gets the object for this PropVariant.
Determines whether the specified System.Object is equal to the current PropVariant.
The System.Object to compare with the current PropVariant.
true if the specified System.Object is equal to the current PropVariant; otherwise, false.
Determines whether the specified PropVariant is equal to the current PropVariant.
The PropVariant to compare with the current PropVariant.
true if the specified PropVariant is equal to the current PropVariant; otherwise, false.
Serves as a hash function for a particular type.
A hash code for the current PropVariant.
Returns a System.String that represents the current PropVariant.
A System.String that represents the current PropVariant.
Determines whether the specified PropVariant instances are considered equal.
The first PropVariant to compare.
The second PropVariant to compare.
true if the specified PropVariant instances are considered equal; otherwise, false.
Determines whether the specified PropVariant instances are not considered equal.
The first PropVariant to compare.
The second PropVariant to compare.
true if the specified PropVariant instances are not considered equal; otherwise, false.
Stores file extraction modes.
Extraction mode
Test mode
Skip mode
Stores operation result values
Success
Method is unsupported
Data error has occured
CrcError has occured
Codes of item properities
No property
Handler item index
Item path
Item name
Item extension
true if the item is a folder; otherwise, false
Item size
Item packed sise; usually absent
Item attributes; usually absent
Item creation time; usually absent
Item last access time; usually absent
Item last write time
true if the item is solid; otherwise, false
true if the item is commented; otherwise, false
true if the item is encrypted; otherwise, false
(?)
(?)
Dictionary size(?)
Item CRC checksum
Item type(?)
(?)
Compression method
(?); usually absent
Item file system; usually absent
Item user(?); usually absent
Item group(?); usually absent
Bloack size(?)
Item comment; usually absent
Item position
Item prefix(?)
Number of subdirectories
Numbers of subfiles
The archive legacy unpacker version
Volume(?)
Is a volume
Offset value(?)
Links(?)
Number of blocks
Number of volumes(?)
Time type(?)
64-bit(?)
BigEndian
Cpu(?)
Physical archive size
Headers size
Archive checksum
(?)
(?)
Cluster size(?)
Volume name(?)
Local item name(?); usually absent
(?)
Path in file system to allow direct streaming from 7z engine
User defined property; usually absent
PropId string names dictionary wrapper.
PropId string names
7-zip IArchiveOpenCallback imported interface to handle the opening of an archive.
Sets total data size
Files pointer
Total size in bytes
Sets completed size
Files pointer
Completed size in bytes
7-zip ICryptoGetTextPassword imported interface to get the archive password.
Gets password for the archive
Password for the archive
Zero if everything is OK
7-zip ICryptoGetTextPassword2 imported interface for setting the archive password.
Sets password for the archive
Specifies whether archive has a password or not (0 if not)
Password for the archive
Zero if everything is OK
7-zip IArchiveExtractCallback imported interface.
Gives the size of the unpacked archive files
Size of the unpacked archive files (in bytes)
SetCompleted 7-zip function
Gets the stream for file extraction
File index in the archive file table
Pointer to the stream
Extraction mode
S_OK - OK, S_FALSE - skip this file
PrepareOperation 7-zip function
Ask mode
Sets the operaton result
The operation result
7-zip IArchiveUpdateCallback imported interface.
Gives the size of the unpacked archive files.
Size of the unpacked archive files (in bytes)
SetCompleted 7-zip internal function.
Gets archive update mode.
File index
1 if new, 0 if not
1 if new, 0 if not
-1 if doesn't matter
Gets the archive item property data.
Item index
Property identificator
Property value
Zero if Ok
Gets the stream for reading.
The item index.
The ISequentialInStream pointer for reading.
Zero if Ok
Sets the result for currently performed operation.
The result value.
EnumProperties 7-zip internal function.
The enumerator pointer.
7-zip IArchiveOpenVolumeCallback imported interface to handle archive volumes.
Gets the archive property data.
The property identificator.
The property value.
Gets the stream for reading the volume.
The volume file name.
The IInStream pointer for reading.
Zero if Ok
7-zip ISequentialInStream imported interface
Writes data to 7-zip packer
Array of bytes available for writing
Array size
S_OK if success
If (size > 0) and there are bytes in stream,
this function must read at least 1 byte.
This function is allowed to read less than "size" bytes.
You must call Read function in loop, if you need exact amount of data.
7-zip ISequentialOutStream imported interface
Writes data to unpacked file stream
Array of bytes available for reading
Array size
Processed data size
S_OK if success
If size != 0, return value is S_OK and (*processedSize == 0),
then there are no more bytes in stream.
If (size > 0) and there are bytes in stream,
this function must read at least 1 byte.
This function is allowed to rwrite less than "size" bytes.
You must call Write function in loop, if you need exact amount of data.
7-zip IInStream imported interface
Read routine
Array of bytes to set
Array size
Zero if Ok
Seek routine
Offset value
Seek origin value
New position pointer
7-zip IOutStream imported interface
Write routine
Array of bytes to get
Array size
Processed size
Zero if Ok
Seek routine
Offset value
Seek origin value
New position pointer
Set size routine
New size value
Zero if Ok
7-zip essential in archive interface
Opens archive for reading.
Archive file stream
Maximum start position for checking
Callback for opening archive
Closes the archive.
Gets the number of files in the archive file table .
The number of files in the archive
Retrieves specific property data.
File index in the archive file table
Property code
Property variant value
Extracts files from the opened archive.
indexes of files to be extracted (must be sorted)
0xFFFFFFFF means all files
testMode != 0 means "test files operation"
IArchiveExtractCallback for operations handling
0 if success
Gets archive property data
Archive property identificator
Archive property value
Gets the number of properties
The number of properties
Gets property information
Item index
Name
Property identificator
Variant type
Gets the number of archive properties
The number of archive properties
Gets the archive property information
Item index
Name
Property identificator
Variant type
7-zip essential out archive interface
Updates archive items
The ISequentialOutStream pointer for writing the archive data
Number of archive items
The IArchiveUpdateCallback pointer
Zero if Ok
Gets file time type(?)
Type pointer
7-zip ISetProperties interface for setting various archive properties
Sets the archive properties
The names of the properties
The values of the properties
The properties count
The definition of the interface which supports the cancellation of a process.
Gets or sets whether to stop the current archive operation.
EventArgs for storing PercentDone property.
Initializes a new instance of the PercentDoneEventArgs class.
The percent of finished work.
Gets the percent of finished work.
Converts a [0, 1] rate to its percent equivalent.
The rate of the done work.
Percent integer equivalent.
The EventArgs class for accurate progress handling.
Initializes a new instance of the ProgressEventArgs class.
The percent of finished work.
The percent of work done after the previous event.
Gets the change in done work percentage.
EventArgs for handling (some) errors during compression.
Constructor.
The default action.
The type of error that occurred.
The source file that is to be compressed.
The intended path/name for this file in the archive.
The ex.
In the handler for this event, initially set to the default strategy. You can set this to
your desired behavior to override the default for this issue.
The type of error that occurred.
The source file that is to be compressed.
The intended path/name for this file in the archive.
The Exception (or null) encountered when attempting to access the file.
EventArgs used to report the file information which is going to be packed.
Initializes a new instance of the FileInfoEventArgs class.
The current ArchiveFileInfo.
The percent of finished work.
Gets or sets whether to stop the current archive operation.
Gets the corresponding FileInfo to the event.
EventArgs used to report the size of unpacked archive data
Initializes a new instance of the OpenEventArgs class
Size of unpacked archive data
Gets the size of unpacked archive data
Stores an int number
Initializes a new instance of the IntEventArgs class
Useful data carried by the IntEventArgs class
Gets the value of the IntEventArgs class
EventArgs class which stores the file name.
Initializes a new instance of the FileNameEventArgs class.
The file name.
The percent of finished work
Gets or sets whether to stop the current archive operation.
Gets the file name.
EventArgs for FileExists event, stores the file name and asks whether to overwrite it in case it already exists.
Initializes a new instance of the FileOverwriteEventArgs class
The file name.
Gets or sets the value indicating whether to cancel the extraction.
Gets or sets the file name to extract to. Null means skip.
The reason for calling .
is called the first time for a file.
All data has been written to the target without any exceptions.
An exception occured during extraction of the file.
The arguments passed to .
For each file, is first called with
set to . If the callback chooses to extract the
file data by setting or , the callback
will be called a second time with set to
or
to allow for any cleanup task like closing the stream.
Initializes a new instance of the class.
The information about file in the archive.
Information about file in the archive.
Information about file in the archive.
The reason for calling .
If neither nor is set,
will not be called after .
The reason.
The exception that occurred during extraction.
The _Exception.
If the callback is called with set to ,
this member contains the _Exception that occurred.
The default behavior is to rethrow the _Exception after return of the callback.
However the callback can set to null to swallow the _Exception
and continue extraction with the next file.
Gets or sets a value indicating whether to cancel the extraction.
true to cancel the extraction; false to continue. The default is false.
Gets or sets whether and where to extract the file.
The path where to extract the file to.
If is set, this mmember will be ignored.
Gets or sets whether and where to extract the file.
The the extracted data is written to.
If both this member and are null (the defualt), the file
will not be extracted and the callback will be be executed a second time with the
set to or .
Gets or sets any data that will be preserved between the callback call
and the or calls.
The data.
Callback delegate for .
Base SevenZip exception class.
The message for thrown user exceptions.
Initializes a new instance of the SevenZipException class
Initializes a new instance of the SevenZipException class
Default exception message
Initializes a new instance of the SevenZipException class
Default exception message
Additional detailed message
Initializes a new instance of the SevenZipException class
Default exception message
Additional detailed message
Inner exception occured
Initializes a new instance of the SevenZipException class
Default exception message
Inner exception occured
Initializes a new instance of the SevenZipException class
All data needed for serialization or deserialization
Serialized stream descriptor
Exception class for ArchiveExtractCallback.
Exception dafault message which is displayed if no extra information is specified
Initializes a new instance of the ExtractionFailedException class
Initializes a new instance of the ExtractionFailedException class
Additional detailed message
Initializes a new instance of the ExtractionFailedException class
Additional detailed message
Inner exception occured
Initializes a new instance of the ExtractionFailedException class
All data needed for serialization or deserialization
Serialized stream descriptor
Exception class for ArchiveUpdateCallback.
Exception dafault message which is displayed if no extra information is specified
Initializes a new instance of the CompressionFailedException class
Initializes a new instance of the CompressionFailedException class
Additional detailed message
Initializes a new instance of the CompressionFailedException class
Additional detailed message
Inner exception occured
Initializes a new instance of the CompressionFailedException class
All data needed for serialization or deserialization
Serialized stream descriptor
Exception class for LZMA operations.
Exception dafault message which is displayed if no extra information is specified
Initializes a new instance of the LzmaException class
Initializes a new instance of the LzmaException class
Additional detailed message
Initializes a new instance of the LzmaException class
Additional detailed message
Inner exception occured
Initializes a new instance of the LzmaException class
All data needed for serialization or deserialization
Serialized stream descriptor
Exception class for 7-zip archive open or read operations.
Exception dafault message which is displayed if no extra information is specified
Initializes a new instance of the SevenZipArchiveException class
Initializes a new instance of the SevenZipArchiveException class
Additional detailed message
Initializes a new instance of the SevenZipArchiveException class
Additional detailed message
Inner exception occured
Initializes a new instance of the SevenZipArchiveException class
All data needed for serialization or deserialization
Serialized stream descriptor
Exception class for empty common root if file name array in SevenZipCompressor.
Exception dafault message which is displayed if no extra information is specified
Initializes a new instance of the SevenZipInvalidFileNamesException class
Initializes a new instance of the SevenZipInvalidFileNamesException class
Additional detailed message
Initializes a new instance of the SevenZipInvalidFileNamesException class
Additional detailed message
Inner exception occured
Initializes a new instance of the SevenZipInvalidFileNamesException class
All data needed for serialization or deserialization
Serialized stream descriptor
Exception class for fail to create an archive in SevenZipCompressor.
Exception dafault message which is displayed if no extra information is specified
Initializes a new instance of the SevenZipCompressionFailedException class
Initializes a new instance of the SevenZipCompressionFailedException class
Additional detailed message
Initializes a new instance of the SevenZipCompressionFailedException class
Additional detailed message
Inner exception occured
Initializes a new instance of the SevenZipCompressionFailedException class
All data needed for serialization or deserialization
Serialized stream descriptor
Exception class for fail to extract an archive in SevenZipExtractor.
Exception dafault message which is displayed if no extra information is specified
Initializes a new instance of the SevenZipExtractionFailedException class
Initializes a new instance of the SevenZipExtractionFailedException class
Additional detailed message
Initializes a new instance of the SevenZipExtractionFailedException class
Additional detailed message
Inner exception occured
Initializes a new instance of the SevenZipExtractionFailedException class
All data needed for serialization or deserialization
Serialized stream descriptor
Exception class for 7-zip library operations.
Exception dafault message which is displayed if no extra information is specified
Initializes a new instance of the SevenZipLibraryException class
Initializes a new instance of the SevenZipLibraryException class
Additional detailed message
Initializes a new instance of the SevenZipLibraryException class
Additional detailed message
Inner exception occured
Initializes a new instance of the SevenZipLibraryException class
All data needed for serialization or deserialization
Serialized stream descriptor
The signature checker class. Original code by Siddharth Uppal, adapted by Markhor.
Based on the code at http://blog.somecreativity.com/2008/04/08/how-to-check-if-a-file-is-compressed-in-c/#
Gets the InArchiveFormat for a specific extension.
The stream to identify.
The archive beginning offset.
True if the original format of the stream is PE; otherwise, false.
Corresponding InArchiveFormat.
Gets the InArchiveFormat for a specific file name.
The archive file name.
The archive beginning offset.
True if the original format of the file is PE; otherwise, false.
Corresponding InArchiveFormat.
Readable archive format enumeration.
Open 7-zip archive format.
Wikipedia information
Proprietary Arj archive format.
Wikipedia information
Open Bzip2 archive format.
Wikipedia information
Microsoft cabinet archive format.
Wikipedia information
Microsoft Compiled HTML Help file format.
Wikipedia information
Microsoft Compound file format.
Wikipedia information
Open Cpio archive format.
Wikipedia information
Open Debian software package format.
Wikipedia information
Open Gzip archive format.
Wikipedia information
Open ISO disk image format.
Wikipedia information
Open Lzh archive format.
Wikipedia information
Open core 7-zip Lzma raw archive format.
Wikipedia information
Nullsoft installation package format.
Wikipedia information
RarLab Rar archive format.
Wikipedia information
Open Rpm software package format.
Wikipedia information
Open split file format.
Wikipedia information
Open Tar archive format.
Wikipedia information
Microsoft Windows Imaging disk image format.
Wikipedia information
Open LZW archive format; implemented in "compress" program; also known as "Z" archive format.
Wikipedia information
Open Zip archive format.
Wikipedia information
Open Udf disk image format.
Xar open source archive format.
Wikipedia information
Mub
Macintosh Disk Image on CD.
Wikipedia information
Apple Mac OS X Disk Copy Disk Image format.
Open Xz archive format.
Wikipedia information
MSLZ archive format.
Flash video format.
Wikipedia information
Shockwave Flash format.
Wikipedia information
Windows PE executable format.
Wikipedia information
Linux executable Elf format.
Wikipedia information
Windows Installer Database.
Wikipedia information
Microsoft virtual hard disk file format.
Wikipedia information
Writable archive format enumeration.
Open 7-zip archive format.
Wikipedia information
Open Zip archive format.
Wikipedia information
Open Gzip archive format.
Wikipedia information
Open Bzip2 archive format.
Wikipedia information
Open Tar archive format.
Wikipedia information
Open Xz archive format.
Wikipedia information
Compression level enumeration
No compression
Very low compression level
Low compression level
Normal compression level (default)
High compression level
The best compression level (slow)
Compression method enumeration.
Some methods are applicable only to Zip format, some - only to 7-zip.
Zip or 7-zip|no compression method.
Zip|Deflate method.
Zip|Deflate64 method.
Zip or 7-zip|Bzip2 method.
Wikipedia information
Zip or 7-zip|LZMA method based on Lempel-Ziv algorithm, it is default for 7-zip.
7-zip|LZMA version 2, LZMA with improved multithreading and usually slight archive size decrease.
Zip or 7-zip|PPMd method based on Dmitry Shkarin's PPMdH source code, very efficient for compressing texts.
Wikipedia information
No method change.
Settings for how errors compressing files are handled.
Default - Throws exception.
The file is skipped - no entry in the archive.
The file is replaced by a UTF-8 encoded text file that explains the reason for the compression failure.
Type of error encountered when compressing.
The source file does not exist.
The source file cannot be opened.
Archive format routines
List of readable archive format interface guids for 7-zip COM interop.
List of writable archive format interface guids for 7-zip COM interop.
List of archive formats corresponding to specific extensions
List of archive formats corresponding to specific signatures
Based on the information at this site.
Gets InArchiveFormat for specified archive file name
Archive file name
Indicates whether to throw exceptions
InArchiveFormat recognized by the file name extension
The set of features supported by the library.
Default feature.
The library can extract 7zip archives compressed with LZMA method.
The library can extract 7zip archives compressed with LZMA2 method.
The library can extract 7z archives compressed with all known methods.
The library can extract zip archives.
The library can extract rar archives.
The library can extract gzip archives.
The library can extract bzip2 archives.
The library can extract tar archives.
The library can extract xz archives.
The library can extract all types of archives supported.
The library can compress data to 7zip archives with LZMA method.
The library can compress data to 7zip archives with LZMA2 method.
The library can compress data to 7zip archives with all methods known.
The library can compress data to tar archives.
The library can compress data to gzip archives.
The library can compress data to bzip2 archives.
The library can compress data to xz archives.
The library can compress data to zip archives.
The library can compress data to all types of archives supported.
The library can modify archives.
7-zip library low-level wrapper.
Synchronization root for all locking.
Path to the 7-zip dll.
7zxa.dll supports only decoding from .7z archives.
Features of 7za.dll:
- Supporting 7z format;
- Built encoders: LZMA, PPMD, BCJ, BCJ2, COPY, AES-256 Encryption.
- Built decoders: LZMA, PPMD, BCJ, BCJ2, COPY, AES-256 Encryption, BZip2, Deflate.
7z.dll (from the 7-zip distribution) supports every InArchiveFormat for encoding and decoding.
7-zip library handle.
7-zip library features.
Loads the 7-zip library if necessary and adds user to the reference list
Caller of the function
Archive format
Gets the value indicating whether the library supports modifying archives.
Removes user from reference list and frees the 7-zip library if it becomes empty
Caller of the function
Archive format
Gets IInArchive interface to extract 7-zip archives.
Archive format.
Archive format user.
Gets IOutArchive interface to pack 7-zip archives.
Archive format.
Archive format user.
Gets the 7zip library path.
Thrown when a Timeout error condition occurs.
The library path.
In WindowsCE, a file called 7z.dll in the same directory as this assembly. If it does not exist,
an Embedded resource is extracted to this directory and used. All other platforms use the following
logic:
1. [All] The value provided to a previous call to SetLibraryPath() is used.
2. [Full Framework] app.config AppSetting '7zLocation' which must be path to the proper bit 7z.dll
3. [All] Embedded resource is extracted to %TEMP% and used. (assuming build with embedded 7z.dll is used)
4. [All] 7z.dll from a x86 or x64 subdirectory of this assembly's directory.
5. [All] 7za.dll from a x86 or x64 subdirectory of this assembly's directory.
6. [All] 7z86.dll or 7z64.dll in the same directory as this assembly.
7. [All] 7za86.dll or 7za64.dll in the same directory as this assembly.
8. [All] A file called 7z.dll in the same directory as this assembly.
9. [All] A file called 7za.dll in the same directory as this assembly.
If not found, we give up and fail.
Sets the application-wide default module path of the native 7zip library. In WindowsCE this is a no-op. The library MUST be in the app directory.
The native 7zip module path.
This method must be called prior to any other calls to this library.
The can be relative or absolute.
Returns the version information of the native 7zip library.
An object representing the version information of the native 7zip library.
The way of the event synchronization.
Events are called synchronously if user can do some action; that is, cancel the execution process for example.
Always call events asynchronously.
Always call events synchronously.
SevenZip Extractor/Compressor base class. Implements Password string, ReportErrors flag.
Unique identifier source. Use System.Threading.Interlocked.Increment(ref IncrementingUniqueId) to get the next UniqueID.
True if the instance of the class needs to be recreated in new thread context; otherwise, false.
AsyncCallback implementation used in asynchronous invocations.
IAsyncResult instance.
Gets or sets the Dispatcher object for this instance.
It will be used to fire events in the user context.
Gets or sets the Dispatcher priority of calling user events.
Gets or sets the event synchronization strategy.
Gets the unique identifier of this SevenZipBase instance.
User exceptions thrown during the requested operations, for example, in events.
Initializes a new instance of the SevenZipBase class.
Initializes a new instance of the SevenZipBase class
The archive password.
Gets or sets the archive password
Gets or sets throw exceptions on archive errors flag
Gets the user exceptions thrown during the requested operations, for example, in events.
Throws the specified exception when is able to.
The exception to throw.
The handler responsible for the exception.
Throws exception if HRESULT != 0.
Result code to check.
Exception message.
The class responsible for the callback.
Changes the path to the 7-zip native library.
The path to the 7-zip native library.
Returns the version information of the native 7zip library.
An object representing the version information of the native 7zip library.
Gets the current library features.
Determines whether the specified System.Object is equal to the current SevenZipBase.
The System.Object to compare with the current SevenZipBase.
true if the specified System.Object is equal to the current SevenZipBase; otherwise, false.
Serves as a hash function for a particular type.
A hash code for the current SevenZipBase.
Returns a System.String that represents the current SevenZipBase.
A System.String that represents the current SevenZipBase.
User exceptions thrown during the requested operations, for example, in events.
Initializes a new instance of the CallbackBase class.
Initializes a new instance of the CallbackBase class.
The archive password.
Gets or sets the archive password
Gets or sets the value indicating whether the current procedure was cancelled.
Gets or sets throw exceptions on archive errors flag
Gets the user exceptions thrown during the requested operations, for example, in events.
Throws the specified exception when is able to.
The exception to throw.
The handler responsible for the exception.
Throws the first exception in the list if any exists.
True means no exceptions.
Struct for storing information about files in the 7-zip archive.
Gets or sets index of the file in the archive file table.
Gets or sets file name
Gets or sets the file last write time.
Gets or sets the file creation time.
Gets or sets the file creation time.
Gets or sets size of the file (unpacked).
Gets or sets CRC checksum of the file.
Gets or sets file attributes.
Gets or sets being a directory.
Gets or sets being encrypted.
Gets or sets comment for the file.
Determines whether the specified System.Object is equal to the current ArchiveFileInfo.
The System.Object to compare with the current ArchiveFileInfo.
true if the specified System.Object is equal to the current ArchiveFileInfo; otherwise, false.
Determines whether the specified ArchiveFileInfo is equal to the current ArchiveFileInfo.
The ArchiveFileInfo to compare with the current ArchiveFileInfo.
true if the specified ArchiveFileInfo is equal to the current ArchiveFileInfo; otherwise, false.
Serves as a hash function for a particular type.
A hash code for the current ArchiveFileInfo.
Returns a System.String that represents the current ArchiveFileInfo.
A System.String that represents the current ArchiveFileInfo.
Determines whether the specified ArchiveFileInfo instances are considered equal.
The first ArchiveFileInfo to compare.
The second ArchiveFileInfo to compare.
true if the specified ArchiveFileInfo instances are considered equal; otherwise, false.
Determines whether the specified ArchiveFileInfo instances are not considered equal.
The first ArchiveFileInfo to compare.
The second ArchiveFileInfo to compare.
true if the specified ArchiveFileInfo instances are not considered equal; otherwise, false.
Archive property struct.
Gets the name of the archive property.
Gets the value of the archive property.
Determines whether the specified System.Object is equal to the current ArchiveProperty.
The System.Object to compare with the current ArchiveProperty.
true if the specified System.Object is equal to the current ArchiveProperty; otherwise, false.
Determines whether the specified ArchiveProperty is equal to the current ArchiveProperty.
The ArchiveProperty to compare with the current ArchiveProperty.
true if the specified ArchiveProperty is equal to the current ArchiveProperty; otherwise, false.
Serves as a hash function for a particular type.
A hash code for the current ArchiveProperty.
Returns a System.String that represents the current ArchiveProperty.
A System.String that represents the current ArchiveProperty.
Determines whether the specified ArchiveProperty instances are considered equal.
The first ArchiveProperty to compare.
The second ArchiveProperty to compare.
true if the specified ArchiveProperty instances are considered equal; otherwise, false.
Determines whether the specified ArchiveProperty instances are not considered equal.
The first ArchiveProperty to compare.
The second ArchiveProperty to compare.
true if the specified ArchiveProperty instances are not considered equal; otherwise, false.
Archive compression mode.
Create a new archive; overwrite the existing one.
Add data to the archive.
Create a new archive; overwrite the existing one.
Add data to the archive.
Modify archive data.
Zip encryption method enum.
ZipCrypto encryption method.
AES 128 bit encryption method.
AES 192 bit encryption method.
AES 256 bit encryption method.
Archive update data for UpdateCallback.
The stream which decompresses data with LZMA on the fly.
Initializes a new instance of the LzmaDecodeStream class.
A compressed stream.
Gets the chunk size.
Gets a value indicating whether the current stream supports reading.
Gets a value indicating whether the current stream supports seeking.
Gets a value indicating whether the current stream supports writing.
Gets the length in bytes of the output stream.
Gets or sets the position within the output stream.
Does nothing.
Reads a sequence of bytes from the current stream and decompresses data if necessary.
An array of bytes.
The zero-based byte offset in buffer at which to begin storing the data read from the current stream.
The maximum number of bytes to be read from the current stream.
The total number of bytes read into the buffer.
Sets the position within the current stream.
A byte offset relative to the origin parameter.
A value of type System.IO.SeekOrigin indicating the reference point used to obtain the new position.
The new position within the current stream.
Sets the length of the current stream.
The desired length of the current stream in bytes.
Writes a sequence of bytes to the current stream.
An array of bytes.
The zero-based byte offset in buffer at which to begin storing the data read from the current stream.
The maximum number of bytes to be read from the current stream.
The stream which compresses data with LZMA on the fly.
Initializes a new instance of the LzmaEncodeStream class.
Initializes a new instance of the LzmaEncodeStream class.
The buffer size. The bigger size, the better compression.
Initializes a new instance of the LzmaEncodeStream class.
An output stream which supports writing.
Initializes a new instance of the LzmaEncodeStream class.
An output stream which supports writing.
A buffer size. The bigger size, the better compression.
Gets a value indicating whether the current stream supports reading.
Gets a value indicating whether the current stream supports seeking.
Gets a value indicating whether the current stream supports writing.
Gets the length in bytes of the output stream.
Gets or sets the position within the output stream.
Checked whether the class was disposed.
Converts the LzmaEncodeStream to the LzmaDecodeStream to read data.
Clears all buffers for this stream and causes any buffered data to be compressed and written.
Releases all unmanaged resources used by LzmaEncodeStream.
Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
An array of bytes.
The zero-based byte offset in buffer at which to begin storing the data read from the current stream.
The maximum number of bytes to be read from the current stream.
The total number of bytes read into the buffer.
Sets the position within the current stream.
A byte offset relative to the origin parameter.
A value of type System.IO.SeekOrigin indicating the reference point used to obtain the new position.
The new position within the current stream.
Sets the length of the current stream.
The desired length of the current stream in bytes.
Writes a sequence of bytes to the current stream and compresses it if necessary.
An array of bytes.
The zero-based byte offset in buffer at which to begin storing the data read from the current stream.
The maximum number of bytes to be read from the current stream.
Callback to implement the ICodeProgress interface
Initializes a new instance of the LzmaProgressCallback class
The input size
Progress event handler
Sets the progress
The processed input size
The processed output size
The exception that is thrown when an error in input stream occurs during decoding.
The exception that is thrown when the value of an argument is outside the allowable range.
Callback progress.
input size. -1 if unknown.
output size. -1 if unknown.
Codes streams.
input Stream.
output Stream.
input Size. -1 if unknown.
output Size. -1 if unknown.
callback progress reference.
if input stream is not valid
Provides the fields that represent properties identifiers for compressing.
Specifies default property.
Specifies size of dictionary.
Specifies size of memory for PPM*.
Specifies order for PPM methods.
Specifies Block Size.
Specifies number of postion state bits for LZMA (0 <= x <= 4).
Specifies number of literal context bits for LZMA (0 <= x <= 8).
Specifies number of literal position bits for LZMA (0 <= x <= 4).
Specifies number of fast bytes for LZ*.
Specifies match finder. LZMA: "BT2", "BT4" or "BT4B".
Specifies the number of match finder cycles.
Specifies number of passes.
Specifies number of algorithm.
Specifies the number of threads.
Specifies mode with end marker.
Class to pack data into archives supported by 7-Zip.
var compr = new SevenZipCompressor();
compr.CompressDirectory(@"C:\Dir", @"C:\Archive.7z");
Gets or sets the archiving compression level.
Gets or sets the stream0 parameters.
Gets or sets a value indicating whether [alt names for volumes].
Gets the custom compression parameters - for advanced users only.
Gets or sets the value indicating whether to include empty directories to archives. Default is true.
Gets or sets the value indicating whether to preserve the directory root for CompressDirectory.
Gets or sets the value indicating whether to preserve the directory structure.
Gets or sets the compression mode.
Gets or sets the value indicating whether to encrypt 7-Zip archive headers.
Gets or sets the value indicating whether to compress files only open for writing.
This applies to CompressDirectory() only.
Gets or sets the encryption method for zip archives.
Gets or sets the temporary folder path.
Gets or sets the default archive item name used when an item to be compressed has no name,
for example, when you compress a MemoryStream instance.
If true, events are not published, which (if you don't need an accurate progress bar) will speed up compression.
Determines the behavior if a file cannot be compressed. For instance, a missing file or a
file that is not opened with FileShare.Read permissions.
This setting applies to CompressFileDictionary.
Initializes a new instance of the SevenZipCompressor class.
Initializes a new instance of the SevenZipCompressor class.
Your own temporary path (default is set in the parameterless constructor overload.)
Checks if the specified stream supports compression.
The stream to check.
Guaranties the correct work of the SetCompressionProperties function
The compression method to check
The value indicating whether the specified method is valid for the current ArchiveFormat
Sets the compression properties
Finds the common root of file names
Array of file names
Common root
Validates the common root
The length of the common root of the file names.
Array of file names
Ensures that directory directory is not empty
Directory name
False if is not empty
Makes special FileInfo array for the archive file table.
Array of files to pack.
The length of the common root of file names
The value indicating whether to produce the array for files in a particular directory or just for an array of files.
Preserve directory structure.
Special FileInfo array for the archive file table.
Recursive function for adding files in directory
Directory directory
List of files
Search string, such as "*.txt"
Performs the common ArchiveUpdateCallback initialization.
The ArchiveUpdateCallback instance to initialize.
Produces a new instance of ArchiveUpdateCallback class.
Array of FileInfo - files to pack.
List of names of the alternates.
Length of the common root of file names.
The archive password.
The archive update callback.
Produces a new instance of ArchiveUpdateCallback class.
The archive input stream.
The archive password.
Produces a new instance of ArchiveUpdateCallback class.
Dictionary<name of the archive entry, stream>.
The archive password
Occurs when the next file is going to be packed.
Occurs when 7-zip engine requests for an input stream for the next file to pack it
Occurs when the current file was compressed.
Occurs when data are being compressed. This is NOT called if FastCompression is true!
Use this event for accurate progress handling and various ProgressBar.StepBy(e.PercentDelta) routines
Occurs when all files information was determined and SevenZipCompressor is about to start to compress them.
The incoming int value indicates the number of scanned files.
Occurs when a recoverable/ignorable compression error occurs, such as when a
file intended to be archived cannot be found or opened. Handling
this event allows you to be notified when an error occurs AND/OR
address how this specific error should be handled if different from
CompressionErrorBehavior.
Occurs when the compression procedure is finished
Event proxy for FileCompressionStarted.
The sender of the event.
The event arguments.
Event proxy for FileCompressionFinished.
The sender of the event.
The event arguments.
Event proxy for Compressing.
The sender of the event.
The event arguments.
Event proxy for Compression Errors.
The sender of the event.
The event arguments.
Event proxy for FilesFound.
The sender of the event.
The event arguments.
Gets or sets the archive format
Gets or sets the compression method
Gets or sets the size in bytes of an archive volume (0 for no volumes).
Packs files into the archive.
Array of file names to pack.
The archive file name.
Packs files into the archive.
Array of file names to pack.
The archive output stream.
Use CompressFiles(string archiveName ... ) overloads for archiving to disk.
Packs files into the archive.
Array of file names to pack.
The length of the common root of the file names.
The archive file name.
Packs files into the archive.
Array of file names to pack.
The length of the common root of the file names.
The archive output stream.
Use CompressFiles(string archiveName, ... ) overloads for archiving to disk.
Packs files into the archive.
Array of file names to pack.
The archive file name.
The archive password.
Packs files into the archive.
Array of file names to pack.
The archive output stream.
Use CompressFiles( ... string archiveName ... ) overloads for archiving to disk.
The archive password.
Packs files into the archive.
Array of file names to pack.
The length of the common root of the file names.
The archive file name.
The archive password.
Packs files into the archive.
Array of file names to pack.
The length of the common root of the file names.
The archive output stream.
Use CompressFiles( ... string archiveName ... ) overloads for archiving to disk.
The archive password.
Packs all files in the specified directory.
The directory to compress.
The archive file name.
The archive password.
Search string, such as "*.txt".
If true, files will be searched for recursively; otherwise, not.
Packs all files in the specified directory.
The directory to compress.
The archive output stream.
Use CompressDirectory( ... string archiveName ... ) overloads for archiving to disk.
The archive password.
Search string, such as "*.txt".
If true, files will be searched for recursively; otherwise, not.
Packs the specified file dictionary.
Dictionary<name of the archive entry, file name>.
If a file name is null, the corresponding archive entry becomes a directory.
The archive file name.
The archive password.
Packs the specified file dictionary.
Dictionary<name of the archive entry, file name>.
If a file name is null, the corresponding archive entry becomes a directory.
The archive output stream.
Use CompressStreamDictionary( ... string archiveName ... ) overloads for archiving to disk.
The archive password.
Packs the specified stream dictionary.
Dictionary<name of the archive entry, stream>.
If a stream is null, the corresponding string becomes a directory name. Stream Dictionary will be cleared and Disposed.
The archive file name.
The archive password.
Packs the specified stream dictionary.
Dictionary<name of the archive entry, stream>.
If a stream is null, the corresponding string becomes a directory name. Stream Dictionary will be cleared and Disposed.
The archive output stream.
Use CompressStreamDictionary( ... string archiveName ... ) overloads for archiving to disk.
The archive password.
Compresses the specified stream.
The source uncompressed stream.
The destination compressed stream.
The archive password.
ArgumentException: at least one of the specified streams is invalid.
Modifies the existing archive (renames files or deletes them).
The archive file name.
New file names. Null value to delete the corresponding index.
The archive password.
Gets or sets the dictionary size for the managed LZMA algorithm.
Compresses the specified stream with LZMA algorithm (C# inside)
The source uncompressed stream
The destination compressed stream
The length of uncompressed data (null for inStream.Length)
The event for handling the code progress
Compresses byte array with LZMA algorithm (C# inside)
Byte array to compress
Compressed byte array
Packs files into the archive asynchronously.
Array of file names to pack.
The archive file name.
The priority of events, relative to the other pending operations in the System.Windows.Threading.Dispatcher event queue, the specified method is invoked.
Packs files into the archive asynchronously.
Array of file names to pack.
The archive output stream.
Use CompressFiles(string archiveName ... ) overloads for archiving to disk.
The priority of events, relative to the other pending operations in the System.Windows.Threading.Dispatcher event queue, the specified method is invoked.
Packs files into the archive asynchronously.
Array of file names to pack.
The length of the common root of the file names.
The archive file name.
The priority of events, relative to the other pending operations in the System.Windows.Threading.Dispatcher event queue, the specified method is invoked.
Packs files into the archive asynchronously.
Array of file names to pack.
The length of the common root of the file names.
The archive output stream.
Use CompressFiles(string archiveName, ... ) overloads for archiving to disk.
The priority of events, relative to the other pending operations in the System.Windows.Threading.Dispatcher event queue, the specified method is invoked.
Packs files into the archive asynchronously.
Array of file names to pack.
The archive file name
The archive password.
The priority of events, relative to the other pending operations in the System.Windows.Threading.Dispatcher event queue, the specified method is invoked.
Packs files into the archive asynchronously.
Array of file names to pack.
The archive output stream.
Use CompressFiles( ... string archiveName ... ) overloads for archiving to disk.
The archive password.
The priority of events, relative to the other pending operations in the System.Windows.Threading.Dispatcher event queue, the specified method is invoked.
Packs files into the archive asynchronously.
Array of file names to pack.
The archive file name
The archive password.
The length of the common root of the file names.
The priority of events, relative to the other pending operations in the System.Windows.Threading.Dispatcher event queue, the specified method is invoked.
Packs files into the archive asynchronously.
Array of file names to pack.
The archive output stream.
Use CompressFiles( ... string archiveName ... ) overloads for archiving to disk.
The archive password.
The length of the common root of the file names.
The priority of events, relative to the other pending operations in the System.Windows.Threading.Dispatcher event queue, the specified method is invoked.
Packs all files in the specified directory asynchronously.
The directory to compress.
The archive file name.
The archive password.
Search string, such as "*.txt".
If true, files will be searched for recursively; otherwise, not.
The priority of events, relative to the other pending operations in the System.Windows.Threading.Dispatcher event queue, the specified method is invoked.
Packs all files in the specified directory asynchronously.
The directory to compress.
The archive output stream.
Use CompressDirectory( ... string archiveName ... ) overloads for archiving to disk.
The archive password.
Search string, such as "*.txt".
If true, files will be searched for recursively; otherwise, not.
The priority of events, relative to the other pending operations in the System.Windows.Threading.Dispatcher event queue, the specified method is invoked.
Compresses the specified stream.
The source uncompressed stream.
The destination compressed stream.
The archive password.
ArgumentException: at least one of the specified streams is invalid.
The priority of events, relative to the other pending operations in the System.Windows.Threading.Dispatcher event queue, the specified method is invoked.
Modifies the existing archive asynchronously (renames files or deletes them).
The archive file name.
New file names. Null value to delete the corresponding index.
The archive password.
The priority of events, relative to the other pending operations in the System.Windows.Threading.Dispatcher event queue, the specified method is invoked.
Class to unpack data from archives supported by 7-Zip.
using (var extr = new SevenZipExtractor(@"C:\Test.7z"))
{
extr.ExtractArchive(@"C:\TestDirectory");
}
This is used to lock possible Dispose() calls.
General initialization function.
The archive file name.
General initialization function.
The stream to read the archive from.
Initializes a new instance of SevenZipExtractor class.
The stream to read the archive from.
Use SevenZipExtractor(string) to extract from disk, though it is not necessary.
The archive format is guessed by the signature.
Initializes a new instance of SevenZipExtractor class.
The stream to read the archive from.
Use SevenZipExtractor(string) to extract from disk, though it is not necessary.
Manual archive format setup. You SHOULD NOT normally specify it this way.
Instead, use SevenZipExtractor(Stream archiveStream), that constructor
automatically detects the archive format.
Initializes a new instance of SevenZipExtractor class.
The archive full file name.
Initializes a new instance of SevenZipExtractor class.
The archive full file name.
Manual archive format setup. You SHOULD NOT normally specify it this way.
Instead, use SevenZipExtractor(string archiveFullName), that constructor
automatically detects the archive format.
Initializes a new instance of SevenZipExtractor class.
The archive full file name.
Password for an encrypted archive.
Initializes a new instance of SevenZipExtractor class.
The archive full file name.
Password for an encrypted archive.
Manual archive format setup. You SHOULD NOT normally specify it this way.
Instead, use SevenZipExtractor(string archiveFullName, string password), that constructor
automatically detects the archive format.
Initializes a new instance of SevenZipExtractor class.
The stream to read the archive from.
Password for an encrypted archive.
The archive format is guessed by the signature.
Initializes a new instance of SevenZipExtractor class.
The stream to read the archive from.
Password for an encrypted archive.
Manual archive format setup. You SHOULD NOT normally specify it this way.
Instead, use SevenZipExtractor(Stream archiveStream, string password), that constructor
automatically detects the archive format.
Gets or sets archive full file name
Gets the size of the archive file
Gets the size of unpacked archive data
Gets a value indicating whether the archive is solid
Gets the number of files in the archive
Gets archive format
Gets or sets the value indicating whether to preserve the directory structure of extracted files.
Checked whether the class was disposed.
Gets the archive input stream.
The archive input wrapper stream.
Opens the archive and throws exceptions or returns OperationResult.DataError if any error occurs.
The IInStream compliant class instance, that is, the input stream.
The ArchiveOpenCallback instance.
OperationResult.Ok if Open() succeeds.
Opens the archive and throws exceptions or returns OperationResult.DataError if any error occurs.
The IInStream compliant class instance, that is, the input stream.
The ArchiveOpenCallback instance.
True if Open() succeeds; otherwise, false.
Retrieves all information about the archive.
Ensure that _archiveFileData is loaded.
Dispose the archive stream after this operation.
Produces an array of indexes from 0 to the maximum value in the specified array
The source array
The array of indexes from 0 to the maximum value in the specified array
Checkes whether all the indexes are valid.
The indexes to check.
True is valid; otherwise, false.
Gets the IArchiveExtractCallback callback.
The directory where extract the files.
The number of files to be extracted.
The list of actual indexes (solid archives support)
The alternate paths.
The ArchiveExtractCallback callback.
Gets the IArchiveExtractCallback callback
The stream where extract the file
The file index
The number of files to be extracted
The ArchiveExtractCallback callback
Checks if the specified stream supports extraction.
The stream to check.
Releases the unmanaged resources used by SevenZipExtractor.
Occurs when a new file is going to be unpacked.
Occurs when 7-zip engine requests for an output stream for a new file to unpack in.
Occurs when a file has been successfully unpacked.
Occurs when the archive has been unpacked.
Occurs when data are being extracted.
Use this event for accurate progress handling and various ProgressBar.StepBy(e.PercentDelta) routines.
Occurs during the extraction when a file already exists.
Event proxy for FileExtractionStarted.
The sender of the event.
The event arguments.
Event proxy for FileExtractionFinished.
The sender of the event.
The event arguments.
Event proxy for Extractng.
The sender of the event.
The event arguments.
Event proxy for FileExists.
The sender of the event.
The event arguments.
Gets the collection of ArchiveFileInfo with all information about files in the archive
Gets the properties for the current archive
Gets the collection of all file names contained in the archive.
Each get recreates the collection
Gets the list of archive volume file names.
Performs the archive integrity test.
True is the archive is ok; otherwise, false.
Unpacks the file by its name to the specified stream.
The file full name in the archive file table.
The stream where the file is to be unpacked.
Unpacks the file by its index to the specified stream.
Index in the archive file table.
The stream where the file is to be unpacked.
Unpacks files by their indices to the specified directory.
indexes of the files in the archive file table.
Directory where the files are to be unpacked.
Unpacks files by their indices to the specified directory.
Directory where the files are to be unpacked.
The alternate paths.
indexes of the files in the archive file table.
Unpacks files by their full names to the specified directory.
Full file names in the archive file table.
Directory where the files are to be unpacked.
Extracts files from the archive, giving a callback the choice what
to do with each file. The order of the files is given by the archive.
7-Zip (and any other solid) archives are NOT supported.
The callback to call for each file in the archive.
Unpacks the whole archive to the specified directory.
The directory where the files are to be unpacked.
Decompress the specified stream (C# inside)
The source compressed stream
The destination uncompressed stream
The length of compressed data (null for inStream.Length)
The event for handling the code progress
Decompress byte array compressed with LZMA algorithm (C# inside)
Byte array to decompress
Decompressed byte array
Recreates the instance of the SevenZipExtractor class.
Used in asynchronous methods.
The delegate to use in BeginExtractArchive.
The directory where the files are to be unpacked.
The delegate to use in BeginExtractFile (by file name).
The file full name in the archive file table.
The stream where the file is to be unpacked.
The delegate to use in BeginExtractFile (by index).
Index in the archive file table.
The stream where the file is to be unpacked.
The delegate to use in BeginExtractFiles(string directory, params int[] indexes).
indexes of the files in the archive file table.
Directory where the files are to be unpacked.
The delegate to use in BeginExtractFiles(string directory, params string[] fileNames).
Full file names in the archive file table.
Directory where the files are to be unpacked.
The delegate to use in BeginExtractFiles(ExtractFileCallback extractFileCallback).
The callback to call for each file in the archive.
Unpacks the whole archive asynchronously to the specified directory name at the specified priority.
The directory where the files are to be unpacked.
The priority of events, relative to the other pending operations in the System.Windows.Threading.Dispatcher event queue, the specified method is invoked.
Unpacks the file asynchronously by its name to the specified stream.
The file full name in the archive file table.
The stream where the file is to be unpacked.
The priority of events, relative to the other pending operations in the System.Windows.Threading.Dispatcher event queue, the specified method is invoked.
Unpacks the file asynchronously by its index to the specified stream.
Index in the archive file table.
The stream where the file is to be unpacked.
The priority of events, relative to the other pending operations in the System.Windows.Threading.Dispatcher event queue, the specified method is invoked.
Unpacks files asynchronously by their indices to the specified directory.
indexes of the files in the archive file table.
Directory where the files are to be unpacked.
The priority of events, relative to the other pending operations in the System.Windows.Threading.Dispatcher event queue, the specified method is invoked.
Unpacks files asynchronously by their full names to the specified directory.
Full file names in the archive file table.
Directory where the files are to be unpacked.
The priority of events, relative to the other pending operations in the System.Windows.Threading.Dispatcher event queue, the specified method is invoked.
Extracts files from the archive asynchronously, giving a callback the choice what
to do with each file. The order of the files is given by the archive.
7-Zip (and any other solid) archives are NOT supported.
The callback to call for each file in the archive.
The priority of events, relative to the other pending operations in the System.Windows.Threading.Dispatcher event queue, the specified method is invoked.
A class that has DisposeStream property.
Stream wrapper used in InStreamWrapper
File name associated with the stream (for date fix)
Worker stream for reading, writing and seeking.
Initializes a new instance of the StreamWrapper class
Worker stream for reading, writing and seeking
File name associated with the stream (for attributes fix)
File last write time (for attributes fix)
Indicates whether to dispose the baseStream
Initializes a new instance of the StreamWrapper class
Worker stream for reading, writing and seeking
Indicates whether to dispose the baseStream
Gets the worker stream for reading, writing and seeking.
Cleans up any resources used and fixes file attributes.
IInStream wrapper used in stream read operations.
Initializes a new instance of the InStreamWrapper class.
Stream for writing data
Indicates whether to dispose the baseStream
Reads data from the stream.
A data array.
The array size.
The read bytes count.
Occurs when IntEventArgs.Value bytes were read from the source.
IOutStream wrapper used in stream write operations.
Initializes a new instance of the OutStreamWrapper class
Stream for writing data
File name (for attributes fix)
Time of the file creation (for attributes fix)
Indicates whether to dispose the baseStream
Initializes a new instance of the OutStreamWrapper class
Stream for writing data
Indicates whether to dispose the baseStream
Writes data to the stream
Data array
Array size
Count of written bytes
Zero if Ok
Occurs when IntEventArgs.Value bytes were written.
Base multi volume stream wrapper class.
Initializes a new instance of the MultiStreamWrapper class.
Perform Dispose() if requested to.
true if this is a multiple volume zip.
Gets the total length of input data.
Cleans up any resources used and fixes file attributes.
IInStream wrapper used in stream multi volume read operations.
Initializes a new instance of the InMultiStreamWrapper class.
The archive file name.
true to alternate volume naming.
true to zip multi volume.
Perform Dispose() if requested to.
Reads data from the stream.
A data array.
The array size.
The read bytes count.
IOutStream wrapper used in multi volume stream write operations.
Initializes a new instance of the OutMultiStreamWrapper class.
The archive name.
The volume size.
true to alternate names.
Does nothing except calling the BytesWritten event
Data array
Array size
Count of written bytes
Zero if Ok
Occurs when IntEventArgs.Value bytes were written