zipreader.h

来自「Zlib压缩库的COM接口」· C头文件 代码 · 共 49 行

H
49
字号
// ZipReader.h : Declaration of the CZipReader

#ifndef __ZIPREADER_H_
#define __ZIPREADER_H_

#include "resource.h"       // main symbols
#include "ziparchive.h"

/////////////////////////////////////////////////////////////////////////////
// CZipReader
class ATL_NO_VTABLE CZipReader : 
	public CComObjectRootEx<CComSingleThreadModel>,
	public CComCoClass<CZipReader, &CLSID_ZipReader>,
	public IDispatchImpl<IZipReader, &IID_IZipReader, &LIBID_AARONSZIPUTILSLib>
{
public:
	CZipReader()
	{
	}

	~CZipReader()
	{
		if (!m_ZipArchive.IsClosed())
			m_ZipArchive.Close();
	}

	CZipArchive m_ZipArchive;

DECLARE_REGISTRY_RESOURCEID(IDR_ZIPREADER)

DECLARE_PROTECT_FINAL_CONSTRUCT()

BEGIN_COM_MAP(CZipReader)
	COM_INTERFACE_ENTRY(IZipReader)
	COM_INTERFACE_ENTRY(IDispatch)
END_COM_MAP()

// IZipReader
public:
	STDMETHOD(GetUncompressedSize)(/*[in]*/ long index, /*[out, retval]*/ long* size);
	STDMETHOD(GetCompressedSize)(/*[in]*/ long index, /*[out, retval]*/ long* size);
	STDMETHOD(GetFileLastModified)(/*[in]*/ long index, /*[out, retval]*/ BSTR* lastModified);
	STDMETHOD(GetFileName)(/*[in]*/ long index, /*[out]*/ BSTR* fileName);
	STDMETHOD(GetCount)(/*[out]*/ long* count);
	STDMETHOD(Open)(/*[in]*/ BSTR fileName);
};

#endif //__ZIPREADER_H_

⌨️ 快捷键说明

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