splithandler.h

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

H
63
字号
// Split/Handler.h#ifndef __SPLIT_HANDLER_H#define __SPLIT_HANDLER_H#include "Common/MyCom.h"#include "Common/String.h"#include "../IArchive.h"namespace NArchive {namespace NSplit {class CHandler:   public IInArchive,  public IInArchiveGetStream,  // public IOutArchive,   public CMyUnknownImp{public:  MY_UNKNOWN_IMP1(IInArchiveGetStream)  STDMETHOD(Open)(IInStream *stream,       const UInt64 *maxCheckStartPosition,      IArchiveOpenCallback *openArchiveCallback);    STDMETHOD(Close)();    STDMETHOD(GetNumberOfItems)(UInt32 *numItems);    STDMETHOD(GetProperty)(UInt32 index, PROPID propID, PROPVARIANT *value);  STDMETHOD(Extract)(const UInt32* indices, UInt32 numItems,       Int32 testMode, IArchiveExtractCallback *extractCallback);    STDMETHOD(GetArchiveProperty)(PROPID propID, PROPVARIANT *value);  STDMETHOD(GetNumberOfProperties)(UInt32 *numProperties);    STDMETHOD(GetPropertyInfo)(UInt32 index,           BSTR *name, PROPID *propID, VARTYPE *varType);  STDMETHOD(GetNumberOfArchiveProperties)(UInt32 *numProperties);    STDMETHOD(GetArchivePropertyInfo)(UInt32 index,           BSTR *name, PROPID *propID, VARTYPE *varType);  STDMETHOD(GetStream)(UInt32 index, ISequentialInStream **stream);    // IOutArchiveHandler  /*  STDMETHOD(UpdateItems)(ISequentialOutStream *outStream, UInt32 numItems,      IArchiveUpdateCallback *updateCallback);  STDMETHOD(GetFileTimeType)(UInt32 *type);    */private:  UString _subName;  UString _name;  CObjectVector<CMyComPtr<IInStream> > _streams;  CRecordVector<UInt64> _sizes;  UInt64 _totalSize;};}}#endif

⌨️ 快捷键说明

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