// ************************************************************************ //
// WARNING
// -------
// This file is generated by the Type Library importer or Type Libary Editor.
// Barring syntax errors, the Editor will parse modifications made to the file.
// However, when applying changes via the Editor this file will be regenerated
// and comments or formatting changes will be lost.
// ************************************************************************ //
// File generated on 12/6/2011 11:22:23 AM (- $Rev: 12980 $, 51698824).

[
  uuid(AF804E20-4043-499E-BB14-237B9F26F89F),
  version(3.0),
  helpstring("TurboPower Abbrevia Compression Library v3.03"),
  helpfile("C:\\Abbrevia\\COM\\abrv-com.hlp"),
  helpcontext(0x00000001)

]
library Abbrevia
{

  importlib("stdole2.tlb");

  interface IZipItem;
  interface IGZipItem;
  interface ITarItem;
  interface IZipKit;
  dispinterface IZipKitEvents;
  coclass ZipItem;
  coclass GZipItem;
  coclass TarItem;
  coclass ZipKit;


  [
    uuid(6CABD61B-653C-4CEB-807C-C80E8DE8163D),
    version(3.0)
  ]
  enum TArchiveAction
  {
    aaFailed = 0,
    aaNone = 1,
    aaAdd = 2,
    aaDelete = 3,
    aaFreshen = 4,
    aaMove = 5,
    aaStreamAdd = 6
  };

  [
    uuid(148F84A1-2B70-4A63-B561-FF0EE49E74B3),
    version(3.0)
  ]
  enum TArchiveStatus
  {
    asInvalid = 0,
    asIdle = 1,
    asBusy = 2
  };

  [
    uuid(5D495174-DB09-4C59-A26D-FEBDE3EAE100),
    version(3.0)
  ]
  enum TErrorClass
  {
    eclAbbrevia = 0,
    eclInOutError = 1,
    eclFileError = 2,
    eclFileCreateError = 3,
    eclFileOpenError = 4,
    eclOther = 5
  };

  [
    uuid(6A4738B9-69F1-4717-8393-681FF21E8DB7),
    version(3.0)
  ]
  enum TFileAttributes
  {
    faReadOnly = 1,
    faHidden = 2,
    faSysFile = 4,
    faVolumeID = 8,
    faDirectory = 16,
    faArchive = 32
  };

  [
    uuid(F77BBE04-0859-4F18-9DEA-B2887C1F6AF7),
    version(3.0)
  ]
  enum TProcessType
  {
    ptAdd = 0,
    ptDelete = 1,
    ptExtract = 2,
    ptFreshen = 3,
    ptMove = 4,
    ptReplace = 5
  };

  [
    uuid(D78287A7-65FA-4391-8F5A-C7D3A11E9970),
    version(3.0)
  ]
  enum TStoreOptions
  {
    soStripDrive = 1,
    soStripPath = 2,
    soRemoveDots = 4,
    soRecurse = 8,
    soFreshen = 16,
    soReplace = 32
  };

  [
    uuid(192C6697-A38D-4F48-B32B-F33500460E62),
    version(3.0)
  ]
  enum TZipCompressionMethod
  {
    cmStored = 0,
    cmShrunk = 1,
    cmReduced1 = 2,
    cmReduced2 = 3,
    cmReduced3 = 4,
    cmReduced4 = 5,
    cmImploded = 6,
    cmTokenized = 7,
    cmDeflated = 8,
    cmEnhancedDeflated = 9,
    cmDCLImploded = 10,
    cmBestMethod = 11
  };

  [
    uuid(800F8CDC-2F0F-4020-BCBB-FEDA82D0EFEF),
    version(3.0)
  ]
  enum TZipDeflateOption
  {
    doInvalid = 0,
    doNormal = 1,
    doMaximum = 2,
    doFast = 3,
    doSuperFast = 4
  };

  [
    uuid(D697ED2A-F088-409F-962A-57D8324EEDD6),
    version(3.0)
  ]
  enum TZipDictionarySize
  {
    dsInvalid = 0,
    ds4K = 1,
    ds8K = 2
  };

  [
    uuid(B9889806-26F9-47E7-AC1F-906AA161B078),
    version(3.0)
  ]
  enum TZipExtractOptions
  {
    eoCreateDirs = 0,
    eoRestorePath = 1
  };

  [
    uuid(D40E0708-AE71-4A44-A6C8-430EDF760DE2),
    version(3.0)
  ]
  enum TZipSupportMethod
  {
    smStored = 0,
    smDeflated = 1,
    smBestMethod = 2
  };

  [
    uuid(EFD2C909-BF04-4C54-9ACB-38D872B95C9F),
    version(3.0)
  ]
  enum TErrorCode
  {
    ecDuplicateName = 0,
    ecInvalidPassword = 1,
    ecNoSuchDirectory = 2,
    ecUnknownCompressionMethod = 3,
    ecUserAbort = 4,
    ecZipBadCRC = 5,
    ecZipVersionNumber = 6,
    ecSpannedItemNotFound = 7
  };

  [
    uuid(44EB05F9-CED9-46D0-84E2-BD3362977437),
    version(3.0)
  ]
  enum TArchiveType
  {
    atUnknown = 0,
    atZip = 1,
    atSelfExtZip = 2,
    atTar = 3,
    atGZip = 4,
    atGZippedTar = 5,
    atCab = 6
  };

  [
    uuid(36568A72-3B4B-41C4-8E34-19931A8EAF63),
    version(3.0)
  ]
  enum TFileSystem
  {
    fsFAT = 0,
    fsAmiga = 1,
    fsVMS = 2,
    fsUnix = 3,
    fsVM_CMS = 4,
    fsAtariTOS = 5,
    fsHPFS = 6,
    fsMacintosh = 7,
    fsZSystem = 8,
    fsCP_M = 9,
    fsTOPS20 = 10,
    fsNTFS = 11,
    fsQDOS = 12,
    fsAcornRISCOS = 13,
    fsUnknown = 14,
    fsUndefined = 15
  };

  [
    uuid(851699A1-422A-4C65-8E08-D0499ACDD834),
    version(3.0),
    helpstring("Dispatch interface for ZipItem Object"),
    helpcontext(0x00000005),
    dual,
    oleautomation
  ]
  interface IZipItem: IDispatch
  {
    [propget, id(0x00000001)]
    HRESULT _stdcall Action([out, retval] enum TArchiveAction* Value);
    [propget, id(0x00000002)]
    HRESULT _stdcall CompressedSize([out, retval] long* Value);
    [propget, id(0x00000003)]
    HRESULT _stdcall CRC32([out, retval] long* Value);
    [propget, id(0x00000004)]
    HRESULT _stdcall DiskFileName([out, retval] BSTR* Value);
    [propget, id(0x00000005)]
    HRESULT _stdcall DiskPath([out, retval] BSTR* Value);
    [propget, id(0x00000006)]
    HRESULT _stdcall ExternalFileAttributes([out, retval] enum TFileAttributes* Value);
    [propput, id(0x00000006)]
    HRESULT _stdcall ExternalFileAttributes([in] enum TFileAttributes Value);
    [propget, id(0x00000007)]
    HRESULT _stdcall FileName([out, retval] BSTR* Value);
    [propput, id(0x00000007)]
    HRESULT _stdcall FileName([in] BSTR Value);
    [propget, id(0x00000008)]
    HRESULT _stdcall IsEncrypted([out, retval] VARIANT_BOOL* Value);
    [propget, id(0x00000009)]
    HRESULT _stdcall LastModFileDateTime([out, retval] DATE* Value);
    [propget, id(0x0000000A)]
    HRESULT _stdcall StoredPath([out, retval] BSTR* Value);
    [propget, id(0x0000000B)]
    HRESULT _stdcall Tagged([out, retval] VARIANT_BOOL* Value);
    [propput, id(0x0000000B)]
    HRESULT _stdcall Tagged([in] VARIANT_BOOL Value);
    [propget, id(0x0000000C)]
    HRESULT _stdcall UnCompressedSize([out, retval] long* Value);
    [propget, id(0x0000000D)]
    HRESULT _stdcall CRC32St([out, retval] BSTR* Value);
    [propget, id(0x0000000E)]
    HRESULT _stdcall Password([out, retval] BSTR* Value);
    [propput, id(0x0000000E)]
    HRESULT _stdcall Password([in] BSTR Value);
    [propget, id(0x0000000F)]
    HRESULT _stdcall CompressionMethod([out, retval] enum TZipCompressionMethod* Value);
    [propget, id(0x00000010)]
    HRESULT _stdcall CompressionRatio([out, retval] double* Value);
    [propget, id(0x00000011)]
    HRESULT _stdcall DeflateOption([out, retval] enum TZipDeflateOption* Value);
    [propget, id(0x00000012)]
    HRESULT _stdcall DictionarySize([out, retval] enum TZipDictionarySize* Value);
    [propget, id(0x00000013)]
    HRESULT _stdcall DiskNumberStart([out, retval] long* Value);
    [propget, id(0x00000014)]
    HRESULT _stdcall ExtraField([out, retval] BSTR* Value);
    [propput, id(0x00000014)]
    HRESULT _stdcall ExtraField([in] BSTR Value);
    [propget, id(0x00000015)]
    HRESULT _stdcall FileComment([out, retval] BSTR* Value);
    [propput, id(0x00000015)]
    HRESULT _stdcall FileComment([in] BSTR Value);
    [propget, id(0x00000016)]
    HRESULT _stdcall InternalFileAttributes([out, retval] long* Value);
    [propput, id(0x00000016)]
    HRESULT _stdcall InternalFileAttributes([in] long Value);
    [propget, id(0x00000017)]
    HRESULT _stdcall VersionMadeBy([out, retval] long* Value);
    [propget, id(0x00000018)]
    HRESULT _stdcall VersionNeededToExtract([out, retval] long* Value);
  };

  [
    uuid(8FA78CE0-FD29-441E-9777-93B63EF1A9EE),
    version(3.0),
    dual,
    oleautomation
  ]
  interface IGZipItem: IDispatch
  {
    [propget, id(0x00000001)]
    HRESULT _stdcall Action([out, retval] enum TArchiveAction* Value);
    [propget, id(0x00000002)]
    HRESULT _stdcall CompressedSize([out, retval] long* Value);
    [propget, id(0x00000003)]
    HRESULT _stdcall CRC32([out, retval] long* Value);
    [propget, id(0x00000004)]
    HRESULT _stdcall DiskFileName([out, retval] BSTR* Value);
    [propget, id(0x00000005)]
    HRESULT _stdcall DiskPath([out, retval] BSTR* Value);
    [propget, id(0x00000006)]
    HRESULT _stdcall ExternalFileAttributes([out, retval] enum TFileAttributes* Value);
    [propput, id(0x00000006)]
    HRESULT _stdcall ExternalFileAttributes([in] enum TFileAttributes Value);
    [propget, id(0x00000007)]
    HRESULT _stdcall FileName([out, retval] BSTR* Value);
    [propput, id(0x00000007)]
    HRESULT _stdcall FileName([in] BSTR Value);
    [propget, id(0x00000008)]
    HRESULT _stdcall IsEncrypted([out, retval] VARIANT_BOOL* Value);
    [propget, id(0x00000009)]
    HRESULT _stdcall LastModFileDateTime([out, retval] DATE* Value);
    [propget, id(0x0000000A)]
    HRESULT _stdcall StoredPath([out, retval] BSTR* Value);
    [propget, id(0x0000000B)]
    HRESULT _stdcall Tagged([out, retval] VARIANT_BOOL* Value);
    [propput, id(0x0000000B)]
    HRESULT _stdcall Tagged([in] VARIANT_BOOL Value);
    [propget, id(0x0000000C)]
    HRESULT _stdcall UnCompressedSize([out, retval] long* Value);
    [propget, id(0x0000000D)]
    HRESULT _stdcall CRC32St([out, retval] BSTR* Value);
    [propget, id(0x0000000E)]
    HRESULT _stdcall Password([out, retval] BSTR* Value);
    [propput, id(0x0000000E)]
    HRESULT _stdcall Password([in] BSTR Value);
    [propget, id(0x0000000F)]
    HRESULT _stdcall CompressionMethod([out, retval] unsigned char* Value);
    [propput, id(0x0000000F)]
    HRESULT _stdcall CompressionMethod([in] unsigned char Value);
    [propget, id(0x00000010)]
    HRESULT _stdcall ExtraField([out, retval] BSTR* Value);
    [propput, id(0x00000010)]
    HRESULT _stdcall ExtraField([in] BSTR Value);
    [propget, id(0x00000011)]
    HRESULT _stdcall ExtraFlags([out, retval] unsigned char* Value);
    [propput, id(0x00000011)]
    HRESULT _stdcall ExtraFlags([in] unsigned char Value);
    [propget, id(0x00000012)]
    HRESULT _stdcall FileComment([out, retval] BSTR* Value);
    [propput, id(0x00000012)]
    HRESULT _stdcall FileComment([in] BSTR Value);
    [propget, id(0x00000013)]
    HRESULT _stdcall FileSystem([out, retval] enum TFileSystem* Value);
    [propput, id(0x00000013)]
    HRESULT _stdcall FileSystem([in] enum TFileSystem Value);
    [propget, id(0x00000014)]
    HRESULT _stdcall Flags([out, retval] unsigned char* Value);
    [propput, id(0x00000014)]
    HRESULT _stdcall Flags([in] unsigned char Value);
    [propget, id(0x00000015)]
    HRESULT _stdcall HeaderCRC([out, retval] long* Value);
  };

  [
    uuid(729E9F52-C489-4A41-A770-4E2C5282AE39),
    version(3.0),
    dual,
    oleautomation
  ]
  interface ITarItem: IDispatch
  {
    [propget, id(0x00000001)]
    HRESULT _stdcall Action([out, retval] enum TArchiveAction* Value);
    [propget, id(0x00000002)]
    HRESULT _stdcall CompressedSize([out, retval] long* Value);
    [propget, id(0x00000003)]
    HRESULT _stdcall CRC32([out, retval] long* Value);
    [propget, id(0x00000004)]
    HRESULT _stdcall DiskFileName([out, retval] BSTR* Value);
    [propget, id(0x00000005)]
    HRESULT _stdcall DiskPath([out, retval] BSTR* Value);
    [propget, id(0x00000006)]
    HRESULT _stdcall ExternalFileAttributes([out, retval] enum TFileAttributes* Value);
    [propput, id(0x00000006)]
    HRESULT _stdcall ExternalFileAttributes([in] enum TFileAttributes Value);
    [propget, id(0x00000007)]
    HRESULT _stdcall FileName([out, retval] BSTR* Value);
    [propput, id(0x00000007)]
    HRESULT _stdcall FileName([in] BSTR Value);
    [propget, id(0x00000008)]
    HRESULT _stdcall IsEncrypted([out, retval] VARIANT_BOOL* Value);
    [propget, id(0x00000009)]
    HRESULT _stdcall LastModFileDateTime([out, retval] DATE* Value);
    [propget, id(0x0000000A)]
    HRESULT _stdcall StoredPath([out, retval] BSTR* Value);
    [propget, id(0x0000000B)]
    HRESULT _stdcall Tagged([out, retval] VARIANT_BOOL* Value);
    [propput, id(0x0000000B)]
    HRESULT _stdcall Tagged([in] VARIANT_BOOL Value);
    [propget, id(0x0000000C)]
    HRESULT _stdcall UnCompressedSize([out, retval] long* Value);
    [propget, id(0x0000000D)]
    HRESULT _stdcall CRC32St([out, retval] BSTR* Value);
    [propget, id(0x0000000E)]
    HRESULT _stdcall Password([out, retval] BSTR* Value);
    [propput, id(0x0000000E)]
    HRESULT _stdcall Password([in] BSTR Value);
    [propget, id(0x0000000F)]
    HRESULT _stdcall DevMajor([out, retval] long* Value);
    [propput, id(0x0000000F)]
    HRESULT _stdcall DevMajor([in] long Value);
    [propget, id(0x00000010)]
    HRESULT _stdcall DevMinor([out, retval] long* Value);
    [propput, id(0x00000010)]
    HRESULT _stdcall DevMinor([in] long Value);
    [propget, id(0x00000011)]
    HRESULT _stdcall GroupID([out, retval] long* Value);
    [propput, id(0x00000011)]
    HRESULT _stdcall GroupID([in] long Value);
    [propget, id(0x00000012)]
    HRESULT _stdcall GroupName([out, retval] BSTR* Value);
    [propput, id(0x00000012)]
    HRESULT _stdcall GroupName([in] BSTR Value);
    [propget, id(0x00000013)]
    HRESULT _stdcall LinkFlag([out, retval] unsigned char* Value);
    [propput, id(0x00000013)]
    HRESULT _stdcall LinkFlag([in] unsigned char Value);
    [propget, id(0x00000014)]
    HRESULT _stdcall LinkName([out, retval] BSTR* Value);
    [propput, id(0x00000014)]
    HRESULT _stdcall LinkName([in] BSTR Value);
    [propget, id(0x00000015)]
    HRESULT _stdcall Mode([out, retval] long* Value);
    [propput, id(0x00000015)]
    HRESULT _stdcall Mode([in] long Value);
    [propget, id(0x00000016)]
    HRESULT _stdcall UserID([out, retval] long* Value);
    [propput, id(0x00000016)]
    HRESULT _stdcall UserID([in] long Value);
    [propget, id(0x00000017)]
    HRESULT _stdcall UserName([out, retval] BSTR* Value);
    [propput, id(0x00000017)]
    HRESULT _stdcall UserName([in] BSTR Value);
  };

  [
    uuid(B7480A7F-4E27-4B45-9FE6-224B60295A0C),
    version(3.0),
    helpstring("Dispatch interface for ZipKit Object"),
    helpcontext(0x00000006),
    dual,
    oleautomation
  ]
  interface IZipKit: IDispatch
  {
    [id(0x00000001)]
    HRESULT _stdcall Add([in] BSTR FileMask, [in] BSTR ExclusionMask, [in] long SearchAttr);
    [id(0x00000007)]
    HRESULT _stdcall AddFromStream([in] BSTR FileName, [in] VARIANT Stream);
    [propget, id(0x00000003)]
    HRESULT _stdcall AutoSave([out, retval] VARIANT_BOOL* Value);
    [propput, id(0x00000003)]
    HRESULT _stdcall AutoSave([in] VARIANT_BOOL Value);
    [propget, id(0x00000004)]
    HRESULT _stdcall BaseDirectory([out, retval] BSTR* Value);
    [propput, id(0x00000004)]
    HRESULT _stdcall BaseDirectory([in] BSTR Value);
    [id(0x00000005)]
    HRESULT _stdcall ClearTags(void);
    [propget, id(0x00000006)]
    HRESULT _stdcall CompressionMethodToUse([out, retval] enum TZipSupportMethod* Value);
    [propput, id(0x00000006)]
    HRESULT _stdcall CompressionMethodToUse([in] enum TZipSupportMethod Value);
    [propget, id(0x00000002)]
    HRESULT _stdcall Count([out, retval] long* Value);
    [propget, id(0x00000008)]
    HRESULT _stdcall DeflateOption([out, retval] enum TZipDeflateOption* Value);
    [propput, id(0x00000008)]
    HRESULT _stdcall DeflateOption([in] enum TZipDeflateOption Value);
    [id(0x00000009)]
    HRESULT _stdcall Delete([in] BSTR FileMask, [in] BSTR ExclusionMask);
    [id(0x0000000A)]
    HRESULT _stdcall DeleteAt([in] long Index);
    [id(0x0000000B)]
    HRESULT _stdcall DeleteTaggedItems(void);
    [propget, id(0x0000000C)]
    HRESULT _stdcall DOSMode([out, retval] VARIANT_BOOL* Value);
    [propput, id(0x0000000C)]
    HRESULT _stdcall DOSMode([in] VARIANT_BOOL Value);
    [id(0x0000000D)]
    HRESULT _stdcall Extract([in] BSTR FileMask, [in] BSTR ExclusionMask);
    [id(0x0000000E)]
    HRESULT _stdcall ExtractAt([in] long Index, [in] BSTR NewName);
    [propget, id(0x0000000F)]
    HRESULT _stdcall ExtractOptions([out, retval] enum TZipExtractOptions* Value);
    [propput, id(0x0000000F)]
    HRESULT _stdcall ExtractOptions([in] enum TZipExtractOptions Value);
    [id(0x00000010)]
    HRESULT _stdcall ExtractTaggedItems(void);
    [propget, id(0x00000011)]
    HRESULT _stdcall FileName([out, retval] BSTR* Value);
    [propput, id(0x00000011)]
    HRESULT _stdcall FileName([in] BSTR Value);
    [id(0x00000012)]
    HRESULT _stdcall Find([in] BSTR FileName, [out, retval] long* Value);
    [id(0x00000013)]
    HRESULT _stdcall Freshen([in] BSTR FileMask, [in] BSTR ExclusionMask);
    [id(0x00000014)]
    HRESULT _stdcall FreshenTaggedItems(void);
    [propget, id(0x00000000)]
    HRESULT _stdcall Item([in] long Index, [out, retval]  IDispatch** Value);
    [propget, id(0x00000017)]
    HRESULT _stdcall LogFile([out, retval] BSTR* Value);
    [propput, id(0x00000017)]
    HRESULT _stdcall LogFile([in] BSTR Value);
    [propget, id(0x00000018)]
    HRESULT _stdcall Logging([out, retval] VARIANT_BOOL* Value);
    [propput, id(0x00000018)]
    HRESULT _stdcall Logging([in] VARIANT_BOOL Value);
    [propget, id(0x00000019)]
    HRESULT _stdcall Password([out, retval] BSTR* Value);
    [propput, id(0x00000019)]
    HRESULT _stdcall Password([in] BSTR Value);
    [propget, id(0x0000001A)]
    HRESULT _stdcall PasswordRetries([out, retval] unsigned char* Value);
    [propput, id(0x0000001A)]
    HRESULT _stdcall PasswordRetries([in] unsigned char Value);
    [id(0x0000001B)]
    HRESULT _stdcall Replace([in] BSTR FileMask);
    [id(0x0000001C)]
    HRESULT _stdcall Save(void);
    [propget, id(0x0000001D)]
    HRESULT _stdcall Spanned([out, retval] VARIANT_BOOL* Value);
    [propget, id(0x0000001E)]
    HRESULT _stdcall SpanningThreshold([out, retval] long* Value);
    [propput, id(0x0000001E)]
    HRESULT _stdcall SpanningThreshold([in] long Value);
    [propget, id(0x0000001F)]
    HRESULT _stdcall Status([out, retval] enum TArchiveStatus* Value);
    [propget, id(0x00000020)]
    HRESULT _stdcall StoreOptions([out, retval] enum TStoreOptions* Value);
    [propput, id(0x00000020)]
    HRESULT _stdcall StoreOptions([in] enum TStoreOptions Value);
    [id(0x00000021)]
    HRESULT _stdcall TagItems([in] BSTR FileMask);
    [propget, id(0x00000022)]
    HRESULT _stdcall TempDirectory([out, retval] BSTR* Value);
    [propput, id(0x00000022)]
    HRESULT _stdcall TempDirectory([in] BSTR Value);
    [id(0x00000023)]
    HRESULT _stdcall TestTaggedItems(void);
    [id(0x00000024)]
    HRESULT _stdcall UntagItems([in] BSTR FileMask);
    [propget, id(0x00000025)]
    HRESULT _stdcall ZipFileComment([out, retval] BSTR* Value);
    [propput, id(0x00000025)]
    HRESULT _stdcall ZipFileComment([in] BSTR Value);
    [id(0x00000026)]
    HRESULT _stdcall License([in] BSTR Key, [out, retval] VARIANT_BOOL* Value);
    [propget, id(0xFFFFFFFC), restricted, hidden]
    HRESULT _stdcall _NewEnum([out, retval]  IUnknown** Value);
    [id(0x00000015)]
    HRESULT _stdcall ExtractToStream([in] BSTR FileName, [out, retval] VARIANT* Value);
    [propget, id(0x00000028)]
    HRESULT _stdcall CompressionType([out, retval] enum TArchiveType* Value);
    [propput, id(0x00000028)]
    HRESULT _stdcall CompressionType([in] enum TArchiveType Value);
    [propget, id(0x00000029)]
    HRESULT _stdcall TarAutoHandle([out, retval] VARIANT_BOOL* Value);
    [propput, id(0x00000029)]
    HRESULT _stdcall TarAutoHandle([in] VARIANT_BOOL Value);
  };

  [
    uuid(F094D5F4-3A52-45AE-9D86-4409611DD29E),
    version(3.0),
    helpstring("Events interface for ZipKit Object")
  ]
  dispinterface IZipKitEvents
  {
    properties:
    methods:
    [id(0x00000001)]
    void OnArchiveItemProgress([in]  IDispatch* Item, [in] unsigned char Progress, [in, out] VARIANT_BOOL* Abort);
    [id(0x00000002)]
    void OnArchiveProgress([in] unsigned char Progress, [in, out] VARIANT_BOOL* Abort);
    [id(0x00000003)]
    void OnChange(void);
    [id(0x00000004)]
    void OnConfirmOverwrite([in, out] BSTR* Name, [in, out] VARIANT_BOOL* Confirm);
    [id(0x00000005)]
    void OnConfirmProcessItem([in]  IDispatch* Item, [in] enum TProcessType ProcessType, [in, out] VARIANT_BOOL* Confirm);
    [id(0x00000006)]
    void OnConfirmSave([in, out] VARIANT_BOOL* Confirm);
    [id(0x00000007)]
    void OnLoad(void);
    [id(0x00000008)]
    void OnNeedPassword([in, out] BSTR* NewPassword);
    [id(0x00000009)]
    void OnProcessItemFailure([in]  IDispatch* Item, [in] enum TProcessType ProcessType, [in] enum TErrorClass ErrorClass, [in] enum TErrorCode ErrorCode, [in] BSTR ErrorString);
    [id(0x0000000A)]
    void OnRequestBlankDisk([in, out] VARIANT_BOOL* Abort);
    [id(0x0000000B)]
    void OnRequestImage([in] long ImageNumber, [in, out] BSTR* ImageName, [in, out] VARIANT_BOOL* Abort);
    [id(0x0000000C)]
    void OnRequestLastDisk([in, out] VARIANT_BOOL* Abort);
    [id(0x0000000D)]
    void OnRequestNthDisk([in] long DiskNumber, [in, out] VARIANT_BOOL* Abort);
    [id(0x0000000E)]
    void OnSave(void);
  };

  [
    uuid(650989D8-F0FF-4C71-83C3-92556F4329F5),
    version(3.0)
  ]
  coclass ZipItem
  {
    [default] interface IZipItem;
  };

  [
    uuid(2B35BB50-D9C7-4669-B18E-943B5199FD8E),
    version(3.0)
  ]
  coclass GZipItem
  {
    [default] interface IGZipItem;
  };

  [
    uuid(2DF3E624-0E6C-42CF-8041-676B9A06375E),
    version(3.0)
  ]
  coclass TarItem
  {
    [default] interface ITarItem;
  };

  [
    uuid(730B4B32-9127-492A-BF02-196A7E6B4E1B),
    version(3.0),
    helpstring("ZipKit Object"),
    helpcontext(0x00000006)
  ]
  coclass ZipKit
  {
    [default] interface IZipKit;
    [default, source] dispinterface IZipKitEvents;
  };

};