7zdecode.h

来自「由7-zip提供的压缩、解压缩程序」· C头文件 代码 · 共 72 行

H
72
字号
// 7zDecode.h#ifndef __7Z_DECODE_H#define __7Z_DECODE_H#include "../../IStream.h"#include "../../IPassword.h"#include "../Common/CoderMixer2.h"#include "../Common/CoderMixer2MT.h"#ifdef _ST_MODE#include "../Common/CoderMixer2ST.h"#endif#ifndef EXCLUDE_COM#include "../Common/CoderLoader.h"#endif#include "7zItem.h"namespace NArchive {namespace N7z {struct CBindInfoEx: public NCoderMixer2::CBindInfo{  CRecordVector<CMethodID> CoderMethodIDs;  void Clear()  {    CBindInfo::Clear();    CoderMethodIDs.Clear();  }};class CDecoder{  #ifndef EXCLUDE_COM  CCoderLibraries _libraries;  #endif  bool _bindInfoExPrevIsDefinded;  CBindInfoEx _bindInfoExPrev;    bool _multiThread;  #ifdef _ST_MODE  NCoderMixer2::CCoderMixer2ST *_mixerCoderSTSpec;  #endif  NCoderMixer2::CCoderMixer2MT *_mixerCoderMTSpec;  NCoderMixer2::CCoderMixer2 *_mixerCoderCommon;    CMyComPtr<ICompressCoder2> _mixerCoder;  CObjectVector<CMyComPtr<IUnknown> > _decoders;  // CObjectVector<CMyComPtr<ICompressCoder2> > _decoders2;public:  CDecoder(bool multiThread);  HRESULT Decode(IInStream *inStream,      UInt64 startPos,      const UInt64 *packSizes,      const CFolder &folder,       ISequentialOutStream *outStream,      ICompressProgressInfo *compressProgress      #ifndef _NO_CRYPTO      , ICryptoGetTextPassword *getTextPasswordSpec      #endif      #ifdef COMPRESS_MT      , bool mtMode, UInt32 numThreads      #endif      );};}}#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?