filekernel.h 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302
  1. #ifndef __FILE_HELPING_20151007__
  2. #define __FILE_HELPING_20151007__
  3. #include "IMGBasetype.h"
  4. // {AC00C7FA-D6E5-446F-8AD4-8875CF7271F5}
  5. static const GUID IID_filefindInterface =
  6. { 0xac00c7fa, 0xd6e5, 0x446f, { 0x8a, 0xd4, 0x88, 0x75, 0xcf, 0x72, 0x71, 0xf5 } };
  7. interface filefindInterface:public MyIUnknown
  8. {
  9. // 查找全部
  10. virtual BOOL getall(
  11. IN LPCTSTR lpfolder, // 要查找的目录;
  12. IN LPCTSTR lpfindext, // 要查找的扩展名;
  13. IN OUT STR_VEC *pvtfiles, // 返回要查找的文件全名;
  14. IN OUT STR_VEC *pvtnames, // 返回要查找的文件名(无路径,包含扩展名);
  15. IN OUT STR_VEC *pvtnames_noext, // 返回要查找的文件名(无路径,不含扩展名);
  16. IN OUT STR_VEC *pvtfolders // 返回要查找的子目录;
  17. ) = 0;
  18. virtual BOOL getsubfolder(
  19. IN LPCTSTR lpfolder, // 要查找的目录;
  20. IN STR_VEC *pvtfolders // 返回2级子文件夹;
  21. ) = 0;
  22. virtual BOOL getallsubfolder(
  23. IN LPCTSTR lpfolder, // 要查找的目录;
  24. IN STR_VEC *pvtfolders // 返回所有子文件夹;
  25. ) = 0;
  26. //////////////////////////////////////////////////////////////////////////
  27. virtual BOOL getfiles_findin_subfolder(
  28. IN LPCTSTR lpfolder, // 要查找的目录;
  29. IN LPCTSTR lpfindext, // 要查找的扩展名;
  30. IN STR_VEC *pvtfiles // 返回要查找的文件全名;
  31. ) = 0;
  32. virtual BOOL getfiles_findout_subfolder(
  33. IN LPCTSTR lpfolder, // 要查找的目录;
  34. IN LPCTSTR lpfindext, // 要查找的扩展名;
  35. IN OUT STR_VEC *pvtfiles // 返回要查找的文件全名;
  36. ) = 0;
  37. virtual BOOL getfiles_within_subfolder(
  38. IN LPCTSTR lpfolder, // 要查找的目录;
  39. IN LPCTSTR lpfindext, // 要查找的扩展名;
  40. IN STR_VEC *pvtfiles // 返回要查找的文件全名;
  41. ) = 0;
  42. //////////////////////////////////////////////////////////////////////////
  43. virtual BOOL getfiles_bynames_findin_subfolder(
  44. IN LPCTSTR lpfolder, // 要查找的目录;
  45. IN LPCTSTR lpfindext, // 要查找的扩展名;
  46. IN STR_VEC &vtnames,
  47. IN STR_VEC *pvtfiles // 返回要查找的文件全名;
  48. ) = 0;
  49. virtual BOOL getfiles_bynames_findout_subfolder(
  50. IN LPCTSTR lpfolder, // 要查找的目录;
  51. IN LPCTSTR lpfindext, // 要查找的扩展名;
  52. IN STR_VEC &vtnames,
  53. IN OUT STR_VEC *pvtfiles // 返回要查找的文件全名;
  54. ) = 0;
  55. virtual BOOL getfiles_bynames_within_subfolder(
  56. IN LPCTSTR lpfolder, // 要查找的目录;
  57. IN LPCTSTR lpfindext, // 要查找的扩展名;
  58. IN STR_VEC &vtnames,
  59. IN STR_VEC *pvtfiles // 返回要查找的文件全名;
  60. ) = 0;
  61. //////////////////////////////////////////////////////////////////////////
  62. virtual BOOL getnames_findin_subfolder(
  63. IN LPCTSTR lpfolder, // 要查找的目录;
  64. IN LPCTSTR lpfindext, // 要查找的扩展名;
  65. IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,包含扩展名);
  66. ) = 0;
  67. virtual BOOL getnames_findout_subfolder(
  68. IN LPCTSTR lpfolder, // 要查找的目录;
  69. IN LPCTSTR lpfindext, // 要查找的扩展名;
  70. IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,包含扩展名);
  71. ) = 0;
  72. virtual BOOL getnames_within_subfolder(
  73. IN LPCTSTR lpfolder, // 要查找的目录;
  74. IN LPCTSTR lpfindext, // 要查找的扩展名;
  75. IN STR_VEC *pvtnames // 返回要查找的文件全名;
  76. ) = 0;
  77. //////////////////////////////////////////////////////////////////////////
  78. virtual BOOL getnames_findin_subfolder_ex(
  79. IN LPCTSTR lpfolder, // 要查找的目录;
  80. IN LPCTSTR lpfindext, // 要查找的扩展名;
  81. IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,不含扩展名);
  82. ) = 0;
  83. virtual BOOL getnames_findout_subfolder_ex(
  84. IN LPCTSTR lpfolder, // 要查找的目录;
  85. IN LPCTSTR lpfindext, // 要查找的扩展名;
  86. IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,不含扩展名);
  87. ) = 0;
  88. virtual BOOL getnames_within_subfolder_ex(
  89. IN LPCTSTR lpfolder, // 要查找的目录;
  90. IN LPCTSTR lpfindext, // 要查找的扩展名;
  91. IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,不含扩展名);
  92. ) = 0;
  93. //////////////////////////////////////////////////////////////////////////
  94. virtual BOOL getfilesnames_findin_subfolder(
  95. IN LPCTSTR lpfolder, // 要查找的目录;
  96. IN LPCTSTR lpfindext, // 要查找的扩展名;
  97. IN STR_VEC *pvtfiles, // 返回要查找的文件全名;
  98. IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,包含扩展名);
  99. ) = 0;
  100. virtual BOOL getfilesnames_findout_subfolder(
  101. IN LPCTSTR lpfolder, // 要查找的目录;
  102. IN LPCTSTR lpfindext, // 要查找的扩展名;
  103. IN STR_VEC *pvtfiles, // 返回要查找的文件全名;
  104. IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,包含扩展名);
  105. ) = 0;
  106. virtual BOOL getfilesnames_within_subfolder(
  107. IN LPCTSTR lpfolder, // 要查找的目录;
  108. IN LPCTSTR lpfindext, // 要查找的扩展名;
  109. IN STR_VEC *pvtfiles, // 返回要查找的文件全名;
  110. IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,包含扩展名);
  111. ) = 0;
  112. //////////////////////////////////////////////////////////////////////////
  113. virtual BOOL getfilesnames_findin_subfolder_ex(
  114. IN LPCTSTR lpfolder, // 要查找的目录;
  115. IN LPCTSTR lpfindext, // 要查找的扩展名;
  116. IN STR_VEC *pvtfiles, // 返回要查找的文件全名;
  117. IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,不含扩展名);
  118. ) = 0;
  119. virtual BOOL getfilesnames_findout_subfolder_ex(
  120. IN LPCTSTR lpfolder, // 要查找的目录;
  121. IN LPCTSTR lpfindext, // 要查找的扩展名;
  122. IN STR_VEC *pvtfiles, // 返回要查找的文件全名;
  123. IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,不含扩展名);
  124. ) = 0;
  125. virtual BOOL getfilesnames_within_subfolder_ex(
  126. IN LPCTSTR lpfolder, // 要查找的目录;
  127. IN LPCTSTR lpfindext, // 要查找的扩展名;
  128. IN STR_VEC *pvtfiles, // 返回要查找的文件全名;
  129. IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,不含扩展名);
  130. ) = 0;
  131. virtual BOOL getfiles_withthumbnail_findin_subfolder(
  132. IN LPCTSTR lpfolder, // 要查找的目录;
  133. IN LPCTSTR lpfindext, // 要查找的扩展名;
  134. IN STR_VEC *pvtfiles, // 返回要查找的文件全名;
  135. IN STR_VEC *pvtfiles_sth, // 返回要查找的文件全名;
  136. IN STR_VEC *pvtfiles_mth // 返回要查找的文件全名;
  137. ) = 0;
  138. virtual BOOL getfiles_withthumbnail_findout_subfolder(
  139. IN LPCTSTR lpfolder, // 要查找的目录;
  140. IN LPCTSTR lpfindext, // 要查找的扩展名;
  141. IN STR_VEC *pvtfiles, // 返回要查找的文件全名;
  142. IN STR_VEC *pvtfiles_sth, // 返回要查找的文件全名;
  143. IN STR_VEC *pvtfiles_mth // 返回要查找的文件全名;
  144. ) = 0;
  145. virtual BOOL getfiles_withthumbnail_within_subfolder(
  146. IN LPCTSTR lpfolder, // 要查找的目录;
  147. IN LPCTSTR lpfindext, // 要查找的扩展名;
  148. IN STR_VEC *pvtfiles, // 返回要查找的文件全名;
  149. IN STR_VEC *pvtfiles_sth, // 返回要查找的文件全名;
  150. IN STR_VEC *pvtfiles_mth // 返回要查找的文件全名;
  151. ) = 0;
  152. };
  153. // {3B464033-F5EC-407F-8DB5-43F1C6020C77}
  154. static const GUID IID_filecompareInterface =
  155. { 0x3b464033, 0xf5ec, 0x407f, { 0x8d, 0xb5, 0x43, 0xf1, 0xc6, 0x2, 0xc, 0x77 } };
  156. interface filecompareInterface:public MyIUnknown
  157. {
  158. //////////////////////////////////////////////////////////////////////////
  159. // 两个文件对比,是否同名;
  160. virtual BOOL comparename_2file(
  161. IN LPCTSTR file1, // 文件1(全路径);
  162. IN LPCTSTR file2 // 文件2(全路径);
  163. ) = 0;
  164. // 指定文件名,与一组文件名对比;
  165. virtual BOOL comparename_findin_names(
  166. IN LPCTSTR name, // 文件名(无路径,不含扩展名);
  167. IN STR_VEC& vtnames // 一组文件名(无路径,不含扩展名);
  168. ) = 0;
  169. // 指定文件名,与一组文件对比;
  170. virtual BOOL comparename_findin_files(
  171. IN LPCTSTR name, // 文件名(不含扩展名);
  172. IN STR_VEC& vtfiles // 一组文件(全路径);
  173. ) = 0;
  174. // 指定文件名,与一文件夹对比;
  175. virtual BOOL comparename_findin_folder(
  176. IN LPCTSTR name, // 文件名(不含扩展名);
  177. IN LPCTSTR folder, // 文件夹;
  178. IN LPCTSTR findext, // 要查找的扩展名;
  179. IN BOOL bsubfolder // 是否查找文件夹内的子目录;
  180. ) = 0;
  181. //////////////////////////////////////////////////////////////////////////
  182. // 指定一组文件名,与另一组文件名对比;
  183. virtual INT comparenames_findin_names(
  184. IN STR_VEC vtSrcnames, // 指定的一组源文件名(无路径,不含扩展名);
  185. IN STR_VEC vtDesnames, // 指定的一组目标文件名(无路径,不含扩展名);
  186. OUT STR_VEC *pvtIsonym = NULL // 返回同名的文件名;
  187. ) = 0;
  188. // 指定一组文件名,与一组文件(全路径)对比;
  189. virtual INT comparenames_findin_files(
  190. IN STR_VEC vtnames, // 指定的一组源文件名(无路径,不含扩展名);
  191. IN STR_VEC vtfiles, // 指定的一组目标文件(全路径);
  192. IN LPCTSTR findext, // 要查找的扩展名;
  193. OUT STR_VEC *pvtIsonym = NULL // 返回同名的文件名;
  194. ) = 0;
  195. // 指定的一组文件名,与一文件夹对比;
  196. virtual INT comparenames_findin_folder(
  197. IN STR_VEC vtnames, // 指定的一组源文件名(无路径,不含扩展名);
  198. IN LPCTSTR folder, // 文件夹;
  199. IN BOOL bsubfolder, // 是否查找文件夹内的子目录;
  200. IN LPCTSTR findext, // 要查找的扩展名;
  201. OUT STR_VEC *pvtIsonym = NULL // 返回同名的文件名;
  202. ) = 0;
  203. //////////////////////////////////////////////////////////////////////////
  204. // 指定一文件,与一组文件名对比;
  205. virtual BOOL comparefile_findin_names(
  206. IN LPCTSTR file, // 文件1(全路径);
  207. IN STR_VEC& vtnames // 指定的一组文件名(无路径,不含扩展名)
  208. ) = 0;
  209. // 指定一文件,与一组文件对比;
  210. virtual BOOL comparefile_findin_files(
  211. IN LPCTSTR file, // 文件(全路径);
  212. IN STR_VEC& vtfiles, // 指定的一组文件(全路径)
  213. IN LPCTSTR findext // 要查找的扩展名;
  214. ) = 0;
  215. // 指定一文件,与一文件夹对比;
  216. virtual BOOL comparefile_findin_folder(
  217. IN LPCTSTR file, // 文件(全路径);
  218. IN LPCTSTR folder, // 文件夹;
  219. IN BOOL bsubfolder, // 是否查找子文件夹;
  220. IN LPCTSTR findext // 要查找的扩展名;
  221. ) = 0;
  222. //////////////////////////////////////////////////////////////////////////
  223. // 指定一组文件,与另一组文件对比;
  224. virtual INT comparefiles_findin_files(
  225. IN STR_VEC &vtfiles1, // 指定的一组源文件;
  226. IN STR_VEC &vtfiles2, // 指定的一组目标文件;
  227. IN LPCTSTR findext, // 要查找的扩展名;
  228. OUT STR_VEC *pvtIsonym = NULL // 返回同名的文件名;
  229. ) = 0;
  230. // 指定一组文件,与一文件夹对比;
  231. virtual INT comparefiles_findin_folder(
  232. IN STR_VEC &vtfiles, // 指定的一组源文件;
  233. IN LPCTSTR folder, // 指定的文件夹;
  234. IN BOOL bsubfolder, // 是否查找子文件夹;
  235. IN LPCTSTR findext, // 要查找的扩展名;
  236. OUT STR_VEC *pvtIsonym = NULL // 返回同名的文件名;
  237. ) = 0;
  238. // 文件夹自我对比(所有子文件夹对比)
  239. virtual INT comparefolderself(
  240. IN LPCTSTR folder, // 指定文件夹;
  241. IN LPCTSTR findext, // 要查找的扩展名;
  242. OUT STR_VEC *pvtIsonym = NULL // 返回同名的文件名;
  243. ) = 0;
  244. // 指定一文件夹,与另一文件夹对比;
  245. virtual INT comparefolder_findin_folder(
  246. IN LPCTSTR folder1, // 指定源文件夹;
  247. IN LPCTSTR folder2, // 指定目标文件夹;
  248. IN BOOL bsubfolder, // 是否查找子文件夹;
  249. IN LPCTSTR findext, // 要查找的扩展名;
  250. OUT STR_VEC *pvtIsonym = NULL // 返回同名的文件名;
  251. ) = 0;
  252. };
  253. // {D4E01BF2-97C1-4477-BAE1-838575292090}
  254. static const GUID IID_filefind2Interface =
  255. { 0xd4e01bf2, 0x97c1, 0x4477, { 0xba, 0xe1, 0x83, 0x85, 0x75, 0x29, 0x20, 0x90 } };
  256. interface filefind2Interface:public MyIUnknown
  257. {//查找前缀或后缀,替换字符;
  258. };
  259. #endif