ZipDLL.h
上传用户:zhanglf88
上传日期:2013-11-19
资源大小:6036k
文件大小:4k
- #ifndef ZIPDLL_H
- #define ZIPDLL_H
- #include "StdAfx.h"
- #include "ZCallBck.h"
- /***
- Zip文件压缩
- */
- struct CZipParams
- {
- HWND m_hwndHandle;
- /* "self" referance of the Delphi form */
- /* This is passed back to us in the callback function
- so we can direct the info to the proper form instance
- - thanks to Dennis Passmore for this idea. */
- void *m_pCaller;
- long int m_liVersion; /* version of DLL we expect to see */
- ZFunctionPtrType m_pfCallbackFunction; /* type def in ZCallBck.PAS */
- BOOL m_bTraceEnabled;
- /*============== Begin Zip Flag section ============== */
- char *m_pszZipPassword; /* password pointer */
- BOOL m_bSuffix; /* not used yet */
- BOOL m_bEncrypt; /* Encrypt files to be added? */
- /* include system and hidden files */
- BOOL m_bSystem;
- /* Include volume label */
- BOOL m_bVolume;
- /* Include extra file attributes (read-only, unix timestamps, etc) */
- BOOL m_bExtra;
- /* Do not add directory names to .ZIP archive */
- /* see also: fJunkDir */
- BOOL m_bNoDirEntries;
- /* Only add files newer a specified date */
- /* See the "Date" array below if you set this to TRUE */
- BOOL m_bDate;
- /* Give a little more information to the user via message boxes */
- BOOL m_bVerboseEnabled;
- /* Quiet operation - the DLL won't issue any messages at all. */
- /* Delphi program MUST handle ALL errors via it's callback function. */
- BOOL m_bQuiet;
- /* Compression level (0 - 9; 9=max, 0=none) */
- /* All of these levels are variations of deflate. */
- /* I strongly recommend you use one of 3 values here:
- 0 = no compression, just store file
- 3 = "fast" compression
- 9 = "best" compression */
- long int m_bLevel;
- /* Try to compress files that appear to be already compressed
- based on their extension: .zip, .arc, .gif, ... */
- BOOL m_bComprSpecial;
- /* translate text file end-of-lines */
- BOOL m_bCRLF_LF;
- /* junk the directory names */
- /* If true, this says not to save dirnames as separate entries,
- in addition to being save with filenames. */
- /* see also: fNoDirEntries */
- BOOL m_bJunkDir;
- /* Recurse into subdirectories */
- BOOL m_bRecurse;
- /* Allow appending to a zip file */
- BOOL m_bGrow;
- /* Convert filenames to DOS 8x3 names - for compatibility
- with PKUNZIP v2.04g, which doesn't understand long filenames */
- BOOL m_bForce;
- /* Delete orig files that were added or updated in zip file */
- /* This is a variation of Add */
- BOOL m_bMove;
- /* Delete specified files from zip file */
- BOOL m_bDeleteEntries;
- /* Update zip -- if true, rezip changed, and add new files in fspec */
- /* This is a variation of Add */
- BOOL m_bUpdate;
- /* Freshen zip -- if true, rezip all changed files in fspec */
- /* This is a variation of Add */
- BOOL m_bFreshen;
- /* junk the SFX prefix on the self-extracing .EXE archives */
- BOOL m_bJunkSFX;
- /* Set zip file time to time of newest file in it */
- BOOL m_bLatestTime;
- /*============== End Zip Flag section ============== */
- /* Cutoff Date for Add-by-date; add files newer than this day */
- /* This is only used if the "fDate" option is TRUE */
- /* format = MMDDYY plus a trailing null */
- char m_cDate[8];
- /* Count of files to add or delete - don't forget to set this! */
- long int m_liFileCount;
- /* ptr to name of zip file */
- char *m_pszArchiveFileName;
- long int m_liSeven; /* pass a 7 here to validate struct size */
- /* Array of filenames contained in the ZIP archive */
- char* m_pszFileNames[MAX_FILES];
- };
- /*
- Main call to execute a ZIP add or Delete. This call returns the
- number of files that were sucessfully operated on.
- */
- typedef DWORD (__stdcall *CZipDllExec)(CZipParams *pParams);
- typedef DWORD (__stdcall *CGetZipDllVersion)();
- #endif // ZIPDLL_H