ZipDLL.h
上传用户:zhanglf88
上传日期:2013-11-19
资源大小:6036k
文件大小:4k
源码类别:

金融证券系统

开发平台:

Visual C++

  1. #ifndef ZIPDLL_H
  2. #define ZIPDLL_H
  3. #include "StdAfx.h"
  4. #include "ZCallBck.h"
  5. /***
  6. Zip文件压缩
  7. */
  8. struct CZipParams
  9. {
  10. HWND m_hwndHandle;
  11. /* "self" referance of the Delphi form */
  12. /* This is passed back to us in the callback function
  13.    so we can direct the info to the proper form instance
  14.    - thanks to Dennis Passmore for this idea. */
  15. void *m_pCaller;
  16. long int m_liVersion;   /* version of DLL we expect to see */
  17. ZFunctionPtrType m_pfCallbackFunction; /* type def in ZCallBck.PAS */
  18. BOOL m_bTraceEnabled;
  19.          /*============== Begin Zip Flag section ============== */
  20. char *m_pszZipPassword; /* password pointer */
  21. BOOL m_bSuffix;   /* not used yet */
  22. BOOL m_bEncrypt;  /* Encrypt files to be added? */
  23. /* include system and hidden files */
  24. BOOL m_bSystem;
  25. /* Include volume label */
  26. BOOL m_bVolume;
  27. /* Include extra file attributes (read-only, unix timestamps, etc) */
  28. BOOL m_bExtra;
  29. /* Do not add directory names to .ZIP archive */
  30. /* see also: fJunkDir */
  31. BOOL m_bNoDirEntries;
  32. /* Only add files newer a specified date */
  33. /* See the "Date" array below if you set this to TRUE */
  34. BOOL m_bDate;
  35. /* Give a little more information to the user via message boxes */
  36. BOOL m_bVerboseEnabled;
  37. /* Quiet operation - the DLL won't issue any messages at all. */
  38. /* Delphi program MUST handle ALL errors via it's callback function. */
  39. BOOL m_bQuiet;
  40. /* Compression level (0 - 9; 9=max, 0=none) */
  41. /* All of these levels are variations of deflate. */
  42. /* I strongly recommend you use one of 3 values here:
  43.           0 = no compression, just store file
  44.               3 = "fast" compression
  45.               9 = "best" compression */
  46. long int m_bLevel;
  47. /* Try to compress files that appear to be already compressed
  48.    based on their extension: .zip, .arc, .gif, ... */
  49. BOOL m_bComprSpecial;
  50. /* translate text file end-of-lines */
  51. BOOL m_bCRLF_LF;
  52. /* junk the directory names */
  53. /* If true, this says not to save dirnames as separate entries,
  54.    in addition to being save with filenames. */
  55. /* see also: fNoDirEntries */
  56. BOOL m_bJunkDir;
  57. /* Recurse into subdirectories */
  58. BOOL m_bRecurse;
  59. /* Allow appending to a zip file */
  60. BOOL m_bGrow;
  61. /* Convert filenames to DOS 8x3 names - for compatibility
  62.    with PKUNZIP v2.04g, which doesn't understand long filenames */
  63. BOOL m_bForce;
  64. /* Delete orig files that were added or updated in zip file */
  65. /* This is a variation of Add */
  66. BOOL m_bMove;
  67. /* Delete specified files from zip file */
  68. BOOL m_bDeleteEntries;
  69. /* Update zip -- if true, rezip changed, and add new files in fspec */
  70. /* This is a variation of Add */
  71. BOOL m_bUpdate;
  72. /* Freshen zip -- if true, rezip all changed files in fspec */
  73. /* This is a variation of Add */
  74. BOOL m_bFreshen;
  75. /* junk the SFX prefix on the self-extracing .EXE archives */
  76. BOOL m_bJunkSFX;
  77. /* Set zip file time to time of newest file in it */
  78. BOOL m_bLatestTime;
  79. /*============== End Zip Flag section ============== */
  80. /* Cutoff Date for Add-by-date; add files newer than this day */
  81. /* This is only used if the "fDate" option is TRUE */
  82. /* format = MMDDYY plus a trailing null */
  83. char m_cDate[8];
  84. /* Count of files to add or delete - don't forget to set this! */
  85. long int m_liFileCount;
  86. /* ptr to name of zip file */
  87. char *m_pszArchiveFileName;
  88. long int m_liSeven; /* pass a 7 here to validate struct size */
  89. /* Array of filenames contained in the ZIP archive */
  90. char* m_pszFileNames[MAX_FILES];
  91. };
  92. /*
  93. Main call to execute a ZIP add or Delete.  This call returns the
  94. number of files that were sucessfully operated on.
  95. */
  96. typedef DWORD (__stdcall *CZipDllExec)(CZipParams *pParams);
  97. typedef DWORD (__stdcall *CGetZipDllVersion)();
  98. #endif  //  ZIPDLL_H