#ifndef __FILE_HELPING_20151007__ #define __FILE_HELPING_20151007__ #include "IMGBasetype.h" // {AC00C7FA-D6E5-446F-8AD4-8875CF7271F5} static const GUID IID_filefindInterface = { 0xac00c7fa, 0xd6e5, 0x446f, { 0x8a, 0xd4, 0x88, 0x75, 0xcf, 0x72, 0x71, 0xf5 } }; interface filefindInterface:public MyIUnknown { // 查找全部 virtual BOOL getall( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN OUT STR_VEC *pvtfiles, // 返回要查找的文件全名; IN OUT STR_VEC *pvtnames, // 返回要查找的文件名(无路径,包含扩展名); IN OUT STR_VEC *pvtnames_noext, // 返回要查找的文件名(无路径,不含扩展名); IN OUT STR_VEC *pvtfolders // 返回要查找的子目录; ) = 0; virtual BOOL getsubfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN STR_VEC *pvtfolders // 返回2级子文件夹; ) = 0; virtual BOOL getallsubfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN STR_VEC *pvtfolders // 返回所有子文件夹; ) = 0; ////////////////////////////////////////////////////////////////////////// virtual BOOL getfiles_findin_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtfiles // 返回要查找的文件全名; ) = 0; virtual BOOL getfiles_findout_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN OUT STR_VEC *pvtfiles // 返回要查找的文件全名; ) = 0; virtual BOOL getfiles_within_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtfiles // 返回要查找的文件全名; ) = 0; ////////////////////////////////////////////////////////////////////////// virtual BOOL getfiles_bynames_findin_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC &vtnames, IN STR_VEC *pvtfiles // 返回要查找的文件全名; ) = 0; virtual BOOL getfiles_bynames_findout_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC &vtnames, IN OUT STR_VEC *pvtfiles // 返回要查找的文件全名; ) = 0; virtual BOOL getfiles_bynames_within_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC &vtnames, IN STR_VEC *pvtfiles // 返回要查找的文件全名; ) = 0; ////////////////////////////////////////////////////////////////////////// virtual BOOL getnames_findin_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,包含扩展名); ) = 0; virtual BOOL getnames_findout_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,包含扩展名); ) = 0; virtual BOOL getnames_within_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtnames // 返回要查找的文件全名; ) = 0; ////////////////////////////////////////////////////////////////////////// virtual BOOL getnames_findin_subfolder_ex( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,不含扩展名); ) = 0; virtual BOOL getnames_findout_subfolder_ex( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,不含扩展名); ) = 0; virtual BOOL getnames_within_subfolder_ex( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,不含扩展名); ) = 0; ////////////////////////////////////////////////////////////////////////// virtual BOOL getfilesnames_findin_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtfiles, // 返回要查找的文件全名; IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,包含扩展名); ) = 0; virtual BOOL getfilesnames_findout_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtfiles, // 返回要查找的文件全名; IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,包含扩展名); ) = 0; virtual BOOL getfilesnames_within_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtfiles, // 返回要查找的文件全名; IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,包含扩展名); ) = 0; ////////////////////////////////////////////////////////////////////////// virtual BOOL getfilesnames_findin_subfolder_ex( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtfiles, // 返回要查找的文件全名; IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,不含扩展名); ) = 0; virtual BOOL getfilesnames_findout_subfolder_ex( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtfiles, // 返回要查找的文件全名; IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,不含扩展名); ) = 0; virtual BOOL getfilesnames_within_subfolder_ex( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtfiles, // 返回要查找的文件全名; IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,不含扩展名); ) = 0; virtual BOOL getfiles_withthumbnail_findin_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtfiles, // 返回要查找的文件全名; IN STR_VEC *pvtfiles_sth, // 返回要查找的文件全名; IN STR_VEC *pvtfiles_mth // 返回要查找的文件全名; ) = 0; virtual BOOL getfiles_withthumbnail_findout_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtfiles, // 返回要查找的文件全名; IN STR_VEC *pvtfiles_sth, // 返回要查找的文件全名; IN STR_VEC *pvtfiles_mth // 返回要查找的文件全名; ) = 0; virtual BOOL getfiles_withthumbnail_within_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtfiles, // 返回要查找的文件全名; IN STR_VEC *pvtfiles_sth, // 返回要查找的文件全名; IN STR_VEC *pvtfiles_mth // 返回要查找的文件全名; ) = 0; }; // {3B464033-F5EC-407F-8DB5-43F1C6020C77} static const GUID IID_filecompareInterface = { 0x3b464033, 0xf5ec, 0x407f, { 0x8d, 0xb5, 0x43, 0xf1, 0xc6, 0x2, 0xc, 0x77 } }; interface filecompareInterface:public MyIUnknown { ////////////////////////////////////////////////////////////////////////// // 两个文件对比,是否同名; virtual BOOL comparename_2file( IN LPCTSTR file1, // 文件1(全路径); IN LPCTSTR file2 // 文件2(全路径); ) = 0; // 指定文件名,与一组文件名对比; virtual BOOL comparename_findin_names( IN LPCTSTR name, // 文件名(无路径,不含扩展名); IN STR_VEC& vtnames // 一组文件名(无路径,不含扩展名); ) = 0; // 指定文件名,与一组文件对比; virtual BOOL comparename_findin_files( IN LPCTSTR name, // 文件名(不含扩展名); IN STR_VEC& vtfiles // 一组文件(全路径); ) = 0; // 指定文件名,与一文件夹对比; virtual BOOL comparename_findin_folder( IN LPCTSTR name, // 文件名(不含扩展名); IN LPCTSTR folder, // 文件夹; IN LPCTSTR findext, // 要查找的扩展名; IN BOOL bsubfolder // 是否查找文件夹内的子目录; ) = 0; ////////////////////////////////////////////////////////////////////////// // 指定一组文件名,与另一组文件名对比; virtual INT comparenames_findin_names( IN STR_VEC vtSrcnames, // 指定的一组源文件名(无路径,不含扩展名); IN STR_VEC vtDesnames, // 指定的一组目标文件名(无路径,不含扩展名); OUT STR_VEC *pvtIsonym = NULL // 返回同名的文件名; ) = 0; // 指定一组文件名,与一组文件(全路径)对比; virtual INT comparenames_findin_files( IN STR_VEC vtnames, // 指定的一组源文件名(无路径,不含扩展名); IN STR_VEC vtfiles, // 指定的一组目标文件(全路径); IN LPCTSTR findext, // 要查找的扩展名; OUT STR_VEC *pvtIsonym = NULL // 返回同名的文件名; ) = 0; // 指定的一组文件名,与一文件夹对比; virtual INT comparenames_findin_folder( IN STR_VEC vtnames, // 指定的一组源文件名(无路径,不含扩展名); IN LPCTSTR folder, // 文件夹; IN BOOL bsubfolder, // 是否查找文件夹内的子目录; IN LPCTSTR findext, // 要查找的扩展名; OUT STR_VEC *pvtIsonym = NULL // 返回同名的文件名; ) = 0; ////////////////////////////////////////////////////////////////////////// // 指定一文件,与一组文件名对比; virtual BOOL comparefile_findin_names( IN LPCTSTR file, // 文件1(全路径); IN STR_VEC& vtnames // 指定的一组文件名(无路径,不含扩展名) ) = 0; // 指定一文件,与一组文件对比; virtual BOOL comparefile_findin_files( IN LPCTSTR file, // 文件(全路径); IN STR_VEC& vtfiles, // 指定的一组文件(全路径) IN LPCTSTR findext // 要查找的扩展名; ) = 0; // 指定一文件,与一文件夹对比; virtual BOOL comparefile_findin_folder( IN LPCTSTR file, // 文件(全路径); IN LPCTSTR folder, // 文件夹; IN BOOL bsubfolder, // 是否查找子文件夹; IN LPCTSTR findext // 要查找的扩展名; ) = 0; ////////////////////////////////////////////////////////////////////////// // 指定一组文件,与另一组文件对比; virtual INT comparefiles_findin_files( IN STR_VEC &vtfiles1, // 指定的一组源文件; IN STR_VEC &vtfiles2, // 指定的一组目标文件; IN LPCTSTR findext, // 要查找的扩展名; OUT STR_VEC *pvtIsonym = NULL // 返回同名的文件名; ) = 0; // 指定一组文件,与一文件夹对比; virtual INT comparefiles_findin_folder( IN STR_VEC &vtfiles, // 指定的一组源文件; IN LPCTSTR folder, // 指定的文件夹; IN BOOL bsubfolder, // 是否查找子文件夹; IN LPCTSTR findext, // 要查找的扩展名; OUT STR_VEC *pvtIsonym = NULL // 返回同名的文件名; ) = 0; // 文件夹自我对比(所有子文件夹对比) virtual INT comparefolderself( IN LPCTSTR folder, // 指定文件夹; IN LPCTSTR findext, // 要查找的扩展名; OUT STR_VEC *pvtIsonym = NULL // 返回同名的文件名; ) = 0; // 指定一文件夹,与另一文件夹对比; virtual INT comparefolder_findin_folder( IN LPCTSTR folder1, // 指定源文件夹; IN LPCTSTR folder2, // 指定目标文件夹; IN BOOL bsubfolder, // 是否查找子文件夹; IN LPCTSTR findext, // 要查找的扩展名; OUT STR_VEC *pvtIsonym = NULL // 返回同名的文件名; ) = 0; }; // {D4E01BF2-97C1-4477-BAE1-838575292090} static const GUID IID_filefind2Interface = { 0xd4e01bf2, 0x97c1, 0x4477, { 0xba, 0xe1, 0x83, 0x85, 0x75, 0x29, 0x20, 0x90 } }; interface filefind2Interface:public MyIUnknown {//查找前缀或后缀,替换字符; }; #endif