// ------------------------------------------------------------------------------------------------------------------------
//	Zip Studio 3.0 - Developer Edition
//	VC4Demo sample for Microsoft Visual C++ 4.0
//
//	Copyright Hexanet 1993-1996, All rights reserved
// ------------------------------------------------------------------------------------------------------------------------
//	Note:
//	To run VC4Demo.EXE you need ZS30W32.OCX and the Microsoft
//	DLLs: MSVCRT40.DLL, MFC40.DLL and OLEPRO32.DLL. (The
//	DLLs must be on the same directory or in WINDOWS/SYSTEM)
// ------------------------------------------------------------------------------------------------------------------------
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++

// NOTE: Do not modify the contents of this file.  If this class is regenerated by
//  Microsoft Visual C++, your modifications will be overwritten.


#include "stdafx.h"
#include "zsocx.h"

/////////////////////////////////////////////////////////////////////////////
// CZSOcx

IMPLEMENT_DYNCREATE(CZSOcx, CWnd)

/////////////////////////////////////////////////////////////////////////////
// CZSOcx properties

/////////////////////////////////////////////////////////////////////////////
// CZSOcx operations

BOOL CZSOcx::IsFileNameInFilter(LPCTSTR szName, LPCTSTR szPattern)
{
	BOOL result;
	static BYTE parms[] =
		VTS_BSTR VTS_BSTR;
	InvokeHelper(0x1, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		szName, szPattern);
	return result;
}

short CZSOcx::GetZipBufferSize()
{
	short result;
	InvokeHelper(0x2, DISPATCH_METHOD, VT_I2, (void*)&result, NULL);
	return result;
}

short CZSOcx::GetUnzipBufferSize()
{
	short result;
	InvokeHelper(0x3, DISPATCH_METHOD, VT_I2, (void*)&result, NULL);
	return result;
}

void CZSOcx::ZipCancel(BOOL bCancel)
{
	static BYTE parms[] =
		VTS_BOOL;
	InvokeHelper(0x4, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 bCancel);
}

short CZSOcx::ZipGetReplaceFlag()
{
	short result;
	InvokeHelper(0x5, DISPATCH_METHOD, VT_I2, (void*)&result, NULL);
	return result;
}

short CZSOcx::Split(LPCTSTR szZipName, LPCTSTR szDestDir, long lFirstBlockSizeInBytes, long lNextBlockSizeInBytes, BOOL bBackGroundProcessing, LPCTSTR szTitle, LPCTSTR szMsg)
{
	short result;
	static BYTE parms[] =
		VTS_BSTR VTS_BSTR VTS_I4 VTS_I4 VTS_BOOL VTS_BSTR VTS_BSTR;
	InvokeHelper(0x6, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		szZipName, szDestDir, lFirstBlockSizeInBytes, lNextBlockSizeInBytes, bBackGroundProcessing, szTitle, szMsg);
	return result;
}

short CZSOcx::SetGlobalComment(LPCTSTR szZipName, LPCTSTR szComment, BOOL bBackGroundProcessing)
{
	short result;
	static BYTE parms[] =
		VTS_BSTR VTS_BSTR VTS_BOOL;
	InvokeHelper(0x7, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		szZipName, szComment, bBackGroundProcessing);
	return result;
}

short CZSOcx::SetLocalComment(LPCTSTR szZipName, LPCTSTR szMask, LPCTSTR szComment, BOOL bBackGroundProcessing)
{
	short result;
	static BYTE parms[] =
		VTS_BSTR VTS_BSTR VTS_BSTR VTS_BOOL;
	InvokeHelper(0x8, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		szZipName, szMask, szComment, bBackGroundProcessing);
	return result;
}

short CZSOcx::Repare(LPCTSTR szZipName, BOOL bBackGroundProcessing)
{
	short result;
	static BYTE parms[] =
		VTS_BSTR VTS_BOOL;
	InvokeHelper(0x9, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		szZipName, bBackGroundProcessing);
	return result;
}

short CZSOcx::MakeEXEFile(LPCTSTR szZipName, LPCTSTR szEXEName, LPCTSTR szProgramToLaunch, LPCTSTR szEXETitle, LPCTSTR szELFFile, short iOverwriteMode, BOOL bAskDirectory, BOOL bWin32Target, BOOL bBackGroundProcessing)
{
	short result;
	static BYTE parms[] =
		VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR VTS_I2 VTS_BOOL VTS_BOOL VTS_BOOL;
	InvokeHelper(0xa, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		szZipName, szEXEName, szProgramToLaunch, szEXETitle, szELFFile, iOverwriteMode, bAskDirectory, bWin32Target, bBackGroundProcessing);
	return result;
}

short CZSOcx::DeleteWithMask(LPCTSTR szZipName, LPCTSTR szMask, BOOL bBackGroundProcessing)
{
	short result;
	static BYTE parms[] =
		VTS_BSTR VTS_BSTR VTS_BOOL;
	InvokeHelper(0xb, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		szZipName, szMask, bBackGroundProcessing);
	return result;
}

BOOL CZSOcx::CreateBlankZIPFile(LPCTSTR szZipName, BOOL bOpenDialog)
{
	BOOL result;
	static BYTE parms[] =
		VTS_BSTR VTS_BOOL;
	InvokeHelper(0xc, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		szZipName, bOpenDialog);
	return result;
}

BOOL CZSOcx::GetZIPITEMIsDir(long hListZIPITEM, short iIndex, BOOL bListCtrlMode)
{
	BOOL result;
	static BYTE parms[] =
		VTS_I4 VTS_I2 VTS_BOOL;
	InvokeHelper(0xd, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		hListZIPITEM, iIndex, bListCtrlMode);
	return result;
}

BOOL CZSOcx::GetZIPITEMIsEncrypted(long hListZIPITEM, short iIndex, BOOL bListCtrlMode)
{
	BOOL result;
	static BYTE parms[] =
		VTS_I4 VTS_I2 VTS_BOOL;
	InvokeHelper(0xe, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		hListZIPITEM, iIndex, bListCtrlMode);
	return result;
}

BOOL CZSOcx::GetZIPITEMIsArchive(long hListZIPITEM, short iIndex, BOOL bListCtrlMode)
{
	BOOL result;
	static BYTE parms[] =
		VTS_I4 VTS_I2 VTS_BOOL;
	InvokeHelper(0xf, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		hListZIPITEM, iIndex, bListCtrlMode);
	return result;
}

BOOL CZSOcx::GetZIPITEMIsHidden(long hListZIPITEM, short iIndex, BOOL bListCtrlMode)
{
	BOOL result;
	static BYTE parms[] =
		VTS_I4 VTS_I2 VTS_BOOL;
	InvokeHelper(0x10, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		hListZIPITEM, iIndex, bListCtrlMode);
	return result;
}

BOOL CZSOcx::GetZIPITEMIsSystem(long hListZIPITEM, short iIndex, BOOL bListCtrlMode)
{
	BOOL result;
	static BYTE parms[] =
		VTS_I4 VTS_I2 VTS_BOOL;
	InvokeHelper(0x11, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		hListZIPITEM, iIndex, bListCtrlMode);
	return result;
}

BOOL CZSOcx::GetZIPITEMIsReadOnly(long hListZIPITEM, short iIndex, BOOL bListCtrlMode)
{
	BOOL result;
	static BYTE parms[] =
		VTS_I4 VTS_I2 VTS_BOOL;
	InvokeHelper(0x12, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		hListZIPITEM, iIndex, bListCtrlMode);
	return result;
}

BOOL CZSOcx::GetZIPITEMIsAnnotated(long hListZIPITEM, short iIndex, BOOL bListCtrlMode)
{
	BOOL result;
	static BYTE parms[] =
		VTS_I4 VTS_I2 VTS_BOOL;
	InvokeHelper(0x13, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		hListZIPITEM, iIndex, bListCtrlMode);
	return result;
}

short CZSOcx::GetZIPITEMMethod(long hListZIPITEM, short iIndex, BOOL bListCtrlMode)
{
	short result;
	static BYTE parms[] =
		VTS_I4 VTS_I2 VTS_BOOL;
	InvokeHelper(0x14, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		hListZIPITEM, iIndex, bListCtrlMode);
	return result;
}

short CZSOcx::GetZIPITEMDay(long hListZIPITEM, short iIndex, BOOL bListCtrlMode)
{
	short result;
	static BYTE parms[] =
		VTS_I4 VTS_I2 VTS_BOOL;
	InvokeHelper(0x15, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		hListZIPITEM, iIndex, bListCtrlMode);
	return result;
}

short CZSOcx::GetZIPITEMMonth(long hListZIPITEM, short iIndex, BOOL bListCtrlMode)
{
	short result;
	static BYTE parms[] =
		VTS_I4 VTS_I2 VTS_BOOL;
	InvokeHelper(0x16, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		hListZIPITEM, iIndex, bListCtrlMode);
	return result;
}

short CZSOcx::GetZIPITEMYear(long hListZIPITEM, short iIndex, BOOL bListCtrlMode)
{
	short result;
	static BYTE parms[] =
		VTS_I4 VTS_I2 VTS_BOOL;
	InvokeHelper(0x17, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		hListZIPITEM, iIndex, bListCtrlMode);
	return result;
}

short CZSOcx::GetZIPITEMHour(long hListZIPITEM, short iIndex, BOOL bListCtrlMode)
{
	short result;
	static BYTE parms[] =
		VTS_I4 VTS_I2 VTS_BOOL;
	InvokeHelper(0x18, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		hListZIPITEM, iIndex, bListCtrlMode);
	return result;
}

short CZSOcx::GetZIPITEMMin(long hListZIPITEM, short iIndex, BOOL bListCtrlMode)
{
	short result;
	static BYTE parms[] =
		VTS_I4 VTS_I2 VTS_BOOL;
	InvokeHelper(0x19, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		hListZIPITEM, iIndex, bListCtrlMode);
	return result;
}

short CZSOcx::GetZIPITEMRate(long hListZIPITEM, short iIndex, BOOL bListCtrlMode)
{
	short result;
	static BYTE parms[] =
		VTS_I4 VTS_I2 VTS_BOOL;
	InvokeHelper(0x1a, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		hListZIPITEM, iIndex, bListCtrlMode);
	return result;
}

short CZSOcx::GetZIPITEMIconIndex(long hListZIPITEM, short iIndex, BOOL bListCtrlMode)
{
	short result;
	static BYTE parms[] =
		VTS_I4 VTS_I2 VTS_BOOL;
	InvokeHelper(0x1b, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		hListZIPITEM, iIndex, bListCtrlMode);
	return result;
}

long CZSOcx::GetZIPITEMOriginalSize(long hListZIPITEM, short iIndex, BOOL bListCtrlMode)
{
	long result;
	static BYTE parms[] =
		VTS_I4 VTS_I2 VTS_BOOL;
	InvokeHelper(0x1c, DISPATCH_METHOD, VT_I4, (void*)&result, parms,
		hListZIPITEM, iIndex, bListCtrlMode);
	return result;
}

double CZSOcx::GetZIPITEMCrc(long hListZIPITEM, short iIndex, BOOL bListCtrlMode)
{
	double result;
	static BYTE parms[] =
		VTS_I4 VTS_I2 VTS_BOOL;
	InvokeHelper(0x1d, DISPATCH_METHOD, VT_R8, (void*)&result, parms,
		hListZIPITEM, iIndex, bListCtrlMode);
	return result;
}

short CZSOcx::UnzipGetReplaceFlag()
{
	short result;
	InvokeHelper(0x1e, DISPATCH_METHOD, VT_I2, (void*)&result, NULL);
	return result;
}

BOOL CZSOcx::BuildZIPITEMImageList()
{
	BOOL result;
	InvokeHelper(0x1f, DISPATCH_METHOD, VT_BOOL, (void*)&result, NULL);
	return result;
}

BOOL CZSOcx::DestroyZIPITEMImageList()
{
	BOOL result;
	InvokeHelper(0x20, DISPATCH_METHOD, VT_BOOL, (void*)&result, NULL);
	return result;
}

void CZSOcx::DestroyZIPITEMLParam(long hListZIPITEM)
{
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0x21, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 hListZIPITEM);
}

short CZSOcx::GetZIPINFOMadeUnder(LPCTSTR szZipName, BOOL bBackGroundProcessing)
{
	short result;
	static BYTE parms[] =
		VTS_BSTR VTS_BOOL;
	InvokeHelper(0x22, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		szZipName, bBackGroundProcessing);
	return result;
}

short CZSOcx::GetZIPINFOVersionMinor(LPCTSTR szZipName, BOOL bBackGroundProcessing)
{
	short result;
	static BYTE parms[] =
		VTS_BSTR VTS_BOOL;
	InvokeHelper(0x23, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		szZipName, bBackGroundProcessing);
	return result;
}

CString CZSOcx::GetGlobalComment(LPCTSTR szZipName, short iMaxLength, BOOL bBackGroundProcessing)
{
	CString result;
	static BYTE parms[] =
		VTS_BSTR VTS_I2 VTS_BOOL;
	InvokeHelper(0x24, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms,
		szZipName, iMaxLength, bBackGroundProcessing);
	return result;
}

short CZSOcx::GetGlobalCommentSize(LPCTSTR szZipName, BOOL bBackGroundProcessing)
{
	short result;
	static BYTE parms[] =
		VTS_BSTR VTS_BOOL;
	InvokeHelper(0x25, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		szZipName, bBackGroundProcessing);
	return result;
}

CString CZSOcx::GetLocalComment(LPCTSTR szZipName, LPCTSTR szMask, short iMaxLength, BOOL bBackGroundProcessing)
{
	CString result;
	static BYTE parms[] =
		VTS_BSTR VTS_BSTR VTS_I2 VTS_BOOL;
	InvokeHelper(0x26, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms,
		szZipName, szMask, iMaxLength, bBackGroundProcessing);
	return result;
}

short CZSOcx::GetCount(LPCTSTR szZipName, BOOL bBackGroundProcessing)
{
	short result;
	static BYTE parms[] =
		VTS_BSTR VTS_BOOL;
	InvokeHelper(0x27, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		szZipName, bBackGroundProcessing);
	return result;
}

double CZSOcx::GetTotalSize(LPCTSTR szZipName, BOOL bOriginalSize, BOOL bBackGroundProcessing)
{
	double result;
	static BYTE parms[] =
		VTS_BSTR VTS_BOOL VTS_BOOL;
	InvokeHelper(0x28, DISPATCH_METHOD, VT_R8, (void*)&result, parms,
		szZipName, bOriginalSize, bBackGroundProcessing);
	return result;
}

BOOL CZSOcx::IsFileInTheZIPFile(LPCTSTR szZipName, LPCTSTR szMask, BOOL bBackGroundProcessing)
{
	BOOL result;
	static BYTE parms[] =
		VTS_BSTR VTS_BSTR VTS_BOOL;
	InvokeHelper(0x29, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		szZipName, szMask, bBackGroundProcessing);
	return result;
}

BOOL CZSOcx::SortZIPITEMList(long hListZIPITEM, short iSortMode, BOOL bBackGroundProcessing)
{
	BOOL result;
	static BYTE parms[] =
		VTS_I4 VTS_I2 VTS_BOOL;
	InvokeHelper(0x2a, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		hListZIPITEM, iSortMode, bBackGroundProcessing);
	return result;
}

short CZSOcx::Join(LPCTSTR szPartFileName, LPCTSTR szDestDirectory, LPCTSTR szTitle, LPCTSTR szMsg, BOOL bBackGroundProcessing)
{
	short result;
	static BYTE parms[] =
		VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR VTS_BOOL;
	InvokeHelper(0x2b, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		szPartFileName, szDestDirectory, szTitle, szMsg, bBackGroundProcessing);
	return result;
}

short CZSOcx::Restore(LPCTSTR szSourceDirectory, LPCTSTR szDestinationDirectory, short iOverwriteMode, BOOL bDisplayDialog, BOOL bEraseReadOnlyFiles, LPCTSTR szTitle, LPCTSTR szMsg, BOOL bBackGroundProcessing)
{
	short result;
	static BYTE parms[] =
		VTS_BSTR VTS_BSTR VTS_I2 VTS_BOOL VTS_BOOL VTS_BSTR VTS_BSTR VTS_BOOL;
	InvokeHelper(0x2c, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		szSourceDirectory, szDestinationDirectory, iOverwriteMode, bDisplayDialog, bEraseReadOnlyFiles, szTitle, szMsg, bBackGroundProcessing);
	return result;
}

void CZSOcx::UnzipCancel(BOOL bCancel)
{
	static BYTE parms[] =
		VTS_BOOL;
	InvokeHelper(0x2d, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 bCancel);
}

short CZSOcx::UnzipToFile(LPCTSTR szZipName, LPCTSTR szMask, LPCTSTR szDestFile, BOOL bEraseReadOnlyFiles, LPCTSTR szPassword, BOOL bAskPassword, BOOL bAckGroundProcessing)
{
	short result;
	static BYTE parms[] =
		VTS_BSTR VTS_BSTR VTS_BSTR VTS_BOOL VTS_BSTR VTS_BOOL VTS_BOOL;
	InvokeHelper(0x2e, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		szZipName, szMask, szDestFile, bEraseReadOnlyFiles, szPassword, bAskPassword, bAckGroundProcessing);
	return result;
}

short CZSOcx::IsZIPFileQuick(LPCTSTR szZipName, BOOL bBackGroundProcessing)
{
	short result;
	static BYTE parms[] =
		VTS_BSTR VTS_BOOL;
	InvokeHelper(0x2f, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		szZipName, bBackGroundProcessing);
	return result;
}

short CZSOcx::IsZIPFileSlow(LPCTSTR szZipName, LPCTSTR szPassword, BOOL bAskPassword, BOOL bBackGroundProcessing)
{
	short result;
	static BYTE parms[] =
		VTS_BSTR VTS_BSTR VTS_BOOL VTS_BOOL;
	InvokeHelper(0x30, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		szZipName, szPassword, bAskPassword, bBackGroundProcessing);
	return result;
}

short CZSOcx::Backup(LPCTSTR szMask, LPCTSTR szDestDrive, BOOL bRecurse, BOOL bUseArchiveFlag, BOOL bRemoveArchiveFlag, BOOL bForceSingleBackup, LPCTSTR szTitle, LPCTSTR szMsg, short iCompressionMode, BOOL bBackGroundProcessing)
{
	short result;
	static BYTE parms[] =
		VTS_BSTR VTS_BSTR VTS_BOOL VTS_BOOL VTS_BOOL VTS_BOOL VTS_BSTR VTS_BSTR VTS_I2 VTS_BOOL;
	InvokeHelper(0x31, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		szMask, szDestDrive, bRecurse, bUseArchiveFlag, bRemoveArchiveFlag, bForceSingleBackup, szTitle, szMsg, iCompressionMode, bBackGroundProcessing);
	return result;
}

BOOL CZSOcx::View(LPCTSTR szZipName, LPCTSTR szMask, BOOL bUseTextEditor, BOOL bRunEXE, LPCTSTR szPrivateTempDir, LPCTSTR szPassword, BOOL bAskPassword, BOOL bBackGroundProcessing)
{
	BOOL result;
	static BYTE parms[] =
		VTS_BSTR VTS_BSTR VTS_BOOL VTS_BOOL VTS_BSTR VTS_BSTR VTS_BOOL VTS_BOOL;
	InvokeHelper(0x32, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		szZipName, szMask, bUseTextEditor, bRunEXE, szPrivateTempDir, szPassword, bAskPassword, bBackGroundProcessing);
	return result;
}

void CZSOcx::SetStringResource(short iStringID, LPCTSTR szValue)
{
	static BYTE parms[] =
		VTS_I2 VTS_BSTR;
	InvokeHelper(0x33, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 iStringID, szValue);
}

BOOL CZSOcx::IsDisketteReady(LPCTSTR szDiskette)
{
	BOOL result;
	static BYTE parms[] =
		VTS_BSTR;
	InvokeHelper(0x34, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		szDiskette);
	return result;
}

BOOL CZSOcx::IsDriveWriteable(LPCTSTR szDrive)
{
	BOOL result;
	static BYTE parms[] =
		VTS_BSTR;
	InvokeHelper(0x35, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		szDrive);
	return result;
}

BOOL CZSOcx::IsWriteable(LPCTSTR szDestFile, long lSizeInBytes)
{
	BOOL result;
	static BYTE parms[] =
		VTS_BSTR VTS_I4;
	InvokeHelper(0x36, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		szDestFile, lSizeInBytes);
	return result;
}

void CZSOcx::SetHelpFile(LPCTSTR szHelpFile)
{
	static BYTE parms[] =
		VTS_BSTR;
	InvokeHelper(0x37, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 szHelpFile);
}

void CZSOcx::SetIniFile(LPCTSTR szFile)
{
	static BYTE parms[] =
		VTS_BSTR;
	InvokeHelper(0x38, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 szFile);
}

void CZSOcx::SetPasswordMode(BOOL bShow, BOOL bSave)
{
	static BYTE parms[] =
		VTS_BOOL VTS_BOOL;
	InvokeHelper(0x39, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 bShow, bSave);
}

void CZSOcx::DeletePasswords()
{
	InvokeHelper(0x3a, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}

short CZSOcx::GetZIPINFOVersionMajor(LPCTSTR szZipName, BOOL bBackGroundProcessing)
{
	short result;
	static BYTE parms[] =
		VTS_BSTR VTS_BOOL;
	InvokeHelper(0x3b, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		szZipName, bBackGroundProcessing);
	return result;
}

short CZSOcx::GetZIPINFODiskID(LPCTSTR szZipName, BOOL bBackGroundProcessing)
{
	short result;
	static BYTE parms[] =
		VTS_BSTR VTS_BOOL;
	InvokeHelper(0x3c, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		szZipName, bBackGroundProcessing);
	return result;
}

short CZSOcx::GetLocalCommentSize(LPCTSTR szZipName, LPCTSTR szMask, BOOL bBackGroundProcessing)
{
	short result;
	static BYTE parms[] =
		VTS_BSTR VTS_BSTR VTS_BOOL;
	InvokeHelper(0x3d, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		szZipName, szMask, bBackGroundProcessing);
	return result;
}

CString CZSOcx::GetNewZIPName()
{
	CString result;
	InvokeHelper(0x3e, DISPATCH_METHOD, VT_BSTR, (void*)&result, NULL);
	return result;
}

short CZSOcx::UnzipFiles(LPCTSTR szZipName, LPCTSTR szMask, LPCTSTR szDestDirectory, BOOL bRebuildDir, BOOL bEraseReadOnlyFiles, short iOverwriteMode, LPCTSTR szPassword, BOOL bAskPassword, BOOL bBackGroundProcessing)
{
	short result;
	static BYTE parms[] =
		VTS_BSTR VTS_BSTR VTS_BSTR VTS_BOOL VTS_BOOL VTS_I2 VTS_BSTR VTS_BOOL VTS_BOOL;
	InvokeHelper(0x3f, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		szZipName, szMask, szDestDirectory, bRebuildDir, bEraseReadOnlyFiles, iOverwriteMode, szPassword, bAskPassword, bBackGroundProcessing);
	return result;
}

short CZSOcx::ZipFiles(LPCTSTR szZipName, LPCTSTR szMask, BOOL bRecurseSubDirs, short iStorePathMethod, short iOverwriteMode, short iCompressionMode, BOOL bUseArchiveFlag, BOOL bRemoveArchiveFlag, LPCTSTR szPassword, BOOL bBackGroundProcessing)
{
	short result;
	static BYTE parms[] =
		VTS_BSTR VTS_BSTR VTS_BOOL VTS_I2 VTS_I2 VTS_I2 VTS_BOOL VTS_BOOL VTS_BSTR VTS_BOOL;
	InvokeHelper(0x40, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		szZipName, szMask, bRecurseSubDirs, iStorePathMethod, iOverwriteMode, iCompressionMode, bUseArchiveFlag, bRemoveArchiveFlag, szPassword, bBackGroundProcessing);
	return result;
}

short CZSOcx::BuildZIPITEMList(LPCTSTR szZipName, long hListZIPITEM, BOOL bListCtrlMode, LPCTSTR szPrivateTempDirectory, BOOL bWindowsIcons, short iSortMode, BOOL bBackGroundProcessing)
{
	short result;
	static BYTE parms[] =
		VTS_BSTR VTS_I4 VTS_BOOL VTS_BSTR VTS_BOOL VTS_I2 VTS_BOOL;
	InvokeHelper(0x41, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		szZipName, hListZIPITEM, bListCtrlMode, szPrivateTempDirectory, bWindowsIcons, iSortMode, bBackGroundProcessing);
	return result;
}

short CZSOcx::DeleteWithSelection(LPCTSTR szZipName, long hListZIPITEM, long hListSelected, BOOL bListIsListCtrl, BOOL bBackGroundProcessing)
{
	short result;
	static BYTE parms[] =
		VTS_BSTR VTS_I4 VTS_I4 VTS_BOOL VTS_BOOL;
	InvokeHelper(0x42, DISPATCH_METHOD, VT_I2, (void*)&result, parms,
		szZipName, hListZIPITEM, hListSelected, bListIsListCtrl, bBackGroundProcessing);
	return result;
}

CString CZSOcx::GetZIPITEMName(long hListZIPITEM, short iIndex, BOOL bListCtrlMode)
{
	CString result;
	static BYTE parms[] =
		VTS_I4 VTS_I2 VTS_BOOL;
	InvokeHelper(0x43, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms,
		hListZIPITEM, iIndex, bListCtrlMode);
	return result;
}

CString CZSOcx::GetZIPITEMDir(long hListZIPITEM, short iIndex, BOOL bListCtrlMode)
{
	CString result;
	static BYTE parms[] =
		VTS_I4 VTS_I2 VTS_BOOL;
	InvokeHelper(0x44, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms,
		hListZIPITEM, iIndex, bListCtrlMode);
	return result;
}

long CZSOcx::GetZIPITEMHImageList(BOOL bBigIcons)
{
	long result;
	static BYTE parms[] =
		VTS_BOOL;
	InvokeHelper(0x45, DISPATCH_METHOD, VT_I4, (void*)&result, parms,
		bBigIcons);
	return result;
}

BOOL CZSOcx::DeleteTempDirectories()
{
	BOOL result;
	InvokeHelper(0x46, DISPATCH_METHOD, VT_BOOL, (void*)&result, NULL);
	return result;
}

BOOL CZSOcx::SetListViewImageList(long hListView)
{
	BOOL result;
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0x47, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		hListView);
	return result;
}

BOOL CZSOcx::Initialize(long lSerialNumber, LPCTSTR szName, LPCTSTR szPassword)
{
	BOOL result;
	static BYTE parms[] =
		VTS_I4 VTS_BSTR VTS_BSTR;
	InvokeHelper(0x48, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		lSerialNumber, szName, szPassword);
	return result;
}

void CZSOcx::AboutBox()
{
	InvokeHelper(0xfffffdd8, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}
