Click here to Skip to main content
15,892,517 members
Articles / Desktop Programming / ATL

Zipper Component

Rate me:
Please Sign up or sign in to vote.
4.76/5 (19 votes)
27 Feb 2006CPOL7 min read 95.3K   1.7K   42  
A COM / ATL component for zipping and unzipping files.
// Zipper.idl : IDL source for Zipper.dll
//

// This file will be processed by the MIDL tool to
// produce the type library (Zipper.tlb) and marshalling code.

import "oaidl.idl";
import "ocidl.idl";
	[
		object,
		uuid(5AB9B940-848E-4FDD-A841-8975C4555050),
		dual,
		helpstring("IZipUtility Interface"),
		pointer_default(unique)
	]
	interface IZipUtility : IDispatch
	{
		[propget, id(1), helpstring("property InputPath")] HRESULT InputPath([out, retval] BSTR *pVal);
		[propput, id(1), helpstring("property InputPath")] HRESULT InputPath([in] BSTR newVal);
		[propget, id(2), helpstring("property OutputPath")] HRESULT OutputPath([out, retval] BSTR *pVal);
		[propput, id(2), helpstring("property OutputPath")] HRESULT OutputPath([in] BSTR newVal);
		[propget, id(3), helpstring("property FileName")] HRESULT FileName([out, retval] BSTR *pVal);
		[propput, id(3), helpstring("property FileName")] HRESULT FileName([in] BSTR newVal);
		[id(4), helpstring("method AddFile")] HRESULT AddFile(BSTR strFileName, BSTR strNewName);
		[propget, id(5), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
		[id(6), helpstring("method Zip")] HRESULT Zip();
		[id(7), helpstring("method Unzip")] HRESULT Unzip();
		[propget, id(8), helpstring("property FullFileName")] HRESULT FullFileName([out, retval] BSTR *pVal);
		[propget, id(9), helpstring("property Password")] HRESULT Password([out, retval] BSTR *pVal);
		[propput, id(9), helpstring("property Password")] HRESULT Password([in] BSTR newVal);
		[id(10), helpstring("method Open")] HRESULT Open();
		[id(11), helpstring("method ExistsFile")] HRESULT ExistsFile(BSTR strFileName, [out, retval] BOOL* pVal);
	};

[
	uuid(8B093C59-1C2C-40BF-9C99-C8783E028542),
	version(1.0),
	helpstring("Zipper 1.0 Type Library")
]
library ZIPPERLib
{
	importlib("stdole32.tlb");
	importlib("stdole2.tlb");

	[
		uuid(D07EDCC5-4AB7-4B40-91AB-C5BAEE7FA608),
		helpstring("ZipUtility Class")
	]
	coclass ZipUtility
	{
		[default] interface IZipUtility;
	};
};

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Chief Technology Officer Blendwerk TI & Media
Mexico Mexico
42

Comments and Discussions