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]. 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. 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 Password for the archive The owner of the callback The list of actual indexes (solid archives support) The value indicating whether to preserve directory structure of extracted files. 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 Ensures that the directory to the file name is valid and creates intermediate directories if necessary File name removes the invalid character in file path. 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. Compression method 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. 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 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 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 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 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 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. The structure to fix x64 and x32 variant size mismatch. COM VARIANT structure with special interface routines. 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 occurred CrcError has occurred File is unavailable Unexpected end of file Data after end of archive File is not archive Archive headers error Wrong password Codes of item properties 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 (?) Index of the Volume 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 operation 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 identifier 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 identifier Variant type Gets the number of archive properties The number of archive properties Gets the archive property information Item index Name Property identifier 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 Archive compression mode. Create a new archive; overwrite the existing one. Add data to the archive. Callback delegate for . 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. 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. 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 or sets whether to skip the current file. Gets the corresponding FileInfo to the event. 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 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 definition of the interface which supports the cancellation of a process. Gets or sets whether to stop the current archive operation. Gets or sets whether to skip the current file. 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 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 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. 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. 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 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 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 default 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 occurred Initializes a new instance of the SevenZipArchiveException 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 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 fail to extract an archive in SevenZipExtractor. Exception default 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 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 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 Exception class for 7-zip sfx settings validation. Exception dafault message which is displayed if no extra information is specified Initializes a new instance of the SevenZipSfxValidationException class Initializes a new instance of the SevenZipSfxValidationException class Additional detailed message Initializes a new instance of the SevenZipSfxValidationException class Additional detailed message Inner exception occured Initializes a new instance of the SevenZipSfxValidationException 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, version 5. Wikipedia information RarLab Rar archive format, version 4 or older. 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 SquashFS file system format. Wikipedia information Lzma86 file format. Prediction by Partial Matching by Dmitry algorithm. Wikipedia information TE format. UEFIc format. Wikipedia information UEFIs format. Wikipedia information Compressed ROM file system format. Wikipedia information APM format. Swfc format. NTFS file system format. Wikipedia information FAT file system format. Wikipedia information MBR format. Wikipedia information Mach-O 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. 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 Create a new archive; overwrite the existing one. Add data to the archive. Modify archive data. 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. 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 Implements the input buffer work Initializes the input buffer Initializes the class Reads the whole block Releases the stream Reads the byte to check it Reads the next byte Gets processed size Initializes a new instance of the OutBuffer class The LZMA decoder class Initializes the Lzma Decoder class. Codes a stream with LZMA algorithm to an output stream The input stream The input size The output size The output stream Progress interface Sets decoder properties Array of byte properties Trains a stream The stream to train. true if Ok; otherwise, false. Decodes the stream The specified RangeCoder The position state The LZMA encoder class Initializes a new instance of the Encoder class Codes the specified stream The input stream The input size The output size The output stream The progress callback Sets the coder properties The property identificators The array of properties Writes the coder properties The output stream to write the properties to. Input window class Size of Allocated memory block The pointer to buffer with data Buffer offset value How many BYTEs must be kept buffer after _pos How many BYTEs must be kept in buffer before _pos Offset (from _buffer) of curent byte Offset (from _buffer) of first not read byte from Stream index + limit have not to exceed _keepSizeAfter 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 interface. Callback progress. Processed input size. -1 if unknown. Processed output size. -1 if unknown. Stream coder interface 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 idenitifiers 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 cyckes. Specifies number of passes. Specifies number of algorithm. Specifies the number of threads. Specifies mode with end marker. The ISetCoderProperties interface The IWriteCoderProperties interface The ISetDecoderPropertiesinterface Sets decoder properties Array of byte properties SevenZip Extractor/Compressor base class. Implements Password string, ReportErrors flag. True if the instance of the class needs to be recreated in new thread context; otherwise, false. 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. The archive password. Removes the UniqueID from the list. 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. 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. 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 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. 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. Gets or sets the value indicating whether to compress as fast as possible, without calling events. 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 Length of the common root of file names The archive password 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 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 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 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. 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. 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 Ensures an array of file names is the full path to that file. Array of file names. Array of file names with full paths. Packs files into the archive asynchronously. Array of file names to pack. The archive file name. 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. 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. 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. Packs files into the archive asynchronously. Array of file names to pack. The archive file name The archive password. 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. 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. 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. Packs files into the archive asynchronously. Array of file names to pack. The archive file name. 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. 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. 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. Packs files into the archive asynchronously. Array of file names to pack. The archive file name The archive password. 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. 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. 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. 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. 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. 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. 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. 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. 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 asynchronously (renames files or deletes them). The archive file name. New file names. Null value to delete the corresponding index. The archive password. 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. 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 Checks 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 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 Extracting. 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 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. Thrown when trying to extract from solid archives. 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. Unpacks the whole archive asynchronously to the specified directory name at the specified priority. The directory where the files are to be unpacked. 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. 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. 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. Unpacks the file asynchronously by its name to the specified stream. Index in the archive file table. The stream where the file is to be unpacked. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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 Archive update data for UpdateCallback. Zip encryption method enum. ZipCrypto encryption method. AES 128 bit encryption method. AES 192 bit encryption method. AES 256 bit encryption method.