#ifndef __IMG_KERNEL_20151007__ #define __IMG_KERNEL_20151007__ #include "IMGBasetype.h" #pragma once // {4A2F93F6-ADA3-404A-BC85-C9CC774C7D6E} static const GUID IID_ImgEnvInterface = { 0x4a2f93f6, 0xada3, 0x404a, { 0xbc, 0x85, 0xc9, 0xcc, 0x77, 0x4c, 0x7d, 0x6e } }; interface ImgEnvInterface:public MyIUnknown { public: virtual BOOL SetEnvInfo( IN LPVOID lpEnvInfo, IN LPCTSTR lpBranchId, IN LPCTSTR lpHostName ) = 0; virtual void SetEnvInfoEx( IN LPCTSTR lpHostName, // 本店主机名; IN LPCTSTR lpBranchId, // 本店域名; IN LPVOID lpTblVerion, // 本店version表; IN LPVOID lpBranchInfo, // branchinfo.dat内容; IN LPVOID lpNetShareInfo // 本店NetShareInfo表; ) = 0; virtual void SetCallBack( IN LPVOID lpCallBackPtr ) = 0; // 导入时,获取可用的共享逻辑硬盘; virtual INT GetEnableShareDirectory( IN CONST INT &nImgType, // 相片类型; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; OUT LPTSTR lpEnableShareDirectory, // 返回可用的共享目录; IN CONST INT &nBufSize // lpEnableShareDirectory数组大小; ) = 0; // 获取指定的分店的所有订单文件夹; virtual BOOL GetBranchAllOrderDirectory( IN CONST INT& nImgType, IN LPCTSTR lpBranchId, OUT CStringArray& AryOfBranchOrderDirectory ) = 0; virtual BOOL GetBranchAllOrderDirectory( IN CONST INT& nImgType, IN LPCTSTR lpBranchId, OUT STR_VEC& vtOfBranchOrderDirectory ) = 0; virtual HGLOBAL GetBranchAllOrderDirectory( IN CONST INT& nImgType, IN LPCTSTR lpBranchId, OUT DWORD& dwReturnSize) = 0; ////////////////////////////////////////////////////////////////////////// // 获取指定相片类型的订单号的全部共享路径; // 只返回目录,不获取文件; virtual BOOL GetOrderAllShareDirectory( IN CONST INT &nImgType, // 相片类型; IN LPCTSTR lpBranchId, // 分店域名 ; IN LPCTSTR lpOrderNum, // 订单号; OUT CStringArray& AryOfOrderAllShareDirectory // 返回订单的全部共享路径; ) = 0; virtual BOOL GetOrderAllShareDirectory( IN CONST INT &nImgType, // 相片类型; IN LPCTSTR lpBranchId, // 分店域名 ; IN LPCTSTR lpOrderNum, // 订单号; OUT STR_VEC& AryOfOrderAllShareDirectory // 返回订单的全部共享路径; ) = 0; virtual HGLOBAL GetOrderAllShareDirectory( IN CONST INT &nImgType, // 相片类型; IN LPCTSTR lpBranchId, // 分店域名 ; IN LPCTSTR lpOrderNum, // 订单号; OUT DWORD& dwReturnSize ) = 0; // 获取指定相片类型的订单景点或套系的全部共享路径; // 只返回目录,不获取文件; virtual BOOL GetSceneryAllShareDirectory( IN CONST INT &nImgType, // 相片类型; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpScenery, // 景点名或套系名; OUT CStringArray &AryOfSceneryAllShareDirectory // 返回指定景点或套系的全部共享路径; ) = 0; virtual BOOL GetSceneryAllShareDirectory( IN CONST INT &nImgType, // 相片类型; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpScenery, // 景点名或套系名; OUT STR_VEC &AryOfSceneryAllShareDirectory // 返回指定景点或套系的全部共享路径; ) = 0; virtual HGLOBAL GetSceneryAllShareDirectory( IN CONST INT &nImgType, // 相片类型; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpScenery, OUT DWORD& dwReturnSize ) = 0; }; // {58703334-2800-4C4C-94D4-9455540A70A7} static const GUID IID_ImgCopyInterface = { 0x58703334, 0x2800, 0x4c4c, { 0x94, 0xd4, 0x94, 0x55, 0x54, 0xa, 0x70, 0xa7 } }; interface ImgCopyInterface:public MyIUnknown { public: virtual BOOL CopyImg2newImg( IN LPCTSTR lpExistImg, // 单张源相片路径; IN LPCTSTR lpNewImg, // 新复制后的相片路径; IN CONST DWORD &dwCopyPix // 复制时是否要压缩成指定像素; ) = 0; virtual INT CopyImg2Specifiedpath( IN LPCTSTR lpExistpath, // 相片源目录; IN LPCTSTR lpSpecifiedpath, // 目标路径; IN LPCTSTR lpCopyExt, // 指定要复制的文件的扩展名; IN CONST DWORD &dwCopyPix, // 复制时是否要压缩成指定像素; IN BOOL bOriginalCopy, // 复制源相片时,是否原样复制; IN BOOL bFailIfExists // 目标文件存在是否复制; ) = 0; virtual INT CopyImg2Specifiedpath( IN CStringArray& AryOfSelectedImg, // 要导入到指定目录的相片路径; IN LPCTSTR lpSpecifiedpath, // 导入相片目标路径; IN LPCTSTR lpWithExt, // 复制文件时同时复制同名的不同扩展名的文件;要附带的扩展名 IN CONST DWORD &dwCopyPix, // 复制时是否要压缩成指定像素; IN BOOL bCopyBySubpath, // 复制是否创建指定部分子目录; IN LPCTSTR lpSeparator, // 源目录从分隔符以后的部分在目标目录下创建子目录; IN BOOL bFailIfExists // 目标文件存在是否复制; ) = 0; virtual INT CopyImg2Specifiedpath( IN STR_VEC& AryOfSelectedImg, // 要导入到指定目录的相片路径; IN LPCTSTR lpSpecifiedpath, // 导入相片目标路径; IN LPCTSTR lpWithExt, // 复制文件时同时复制同名的不同扩展名的文件;要附带的扩展名 IN CONST DWORD &dwCopyPix, // 复制时是否要压缩成指定像素; IN BOOL bCopyBySubpath, // 复制是否创建指定部分子目录; IN LPCTSTR lpSeparator, // 源目录从分隔符以后的部分在目标目录下创建子目录; IN BOOL bFailIfExists // 目标文件存在是否复制; ) = 0; virtual INT CopyImg2Specifiedpath( IN CStringArray& AryOfExistImages, // 要导入到指定目录的相片路径; IN CStringArray& AryOfNewImages, // 新的目标文件路径; IN CONST DWORD &dwCopyPix, // 复制时是否要压缩成指定像素; IN LPCTSTR lpWithExt, // 复制文件时同时复制同名的不同扩展名的文件;要附带的扩展名 IN BOOL bFailIfExists // 目标文件存在是否复制; ) = 0; /* AryOfExistImages.GetSize() == AryOfNewImages.GetSize() */ virtual INT CopyImg2Specifiedpath( IN STR_VEC& AryOfExistImages, // 要导入到指定目录的相片路径; IN STR_VEC& AryOfNewImages, // 新的目标文件路径; IN CONST DWORD &dwCopyPix, // 复制时是否要压缩成指定像素; IN LPCTSTR lpWithExt, // 复制文件时同时复制同名的不同扩展名的文件;要附带的扩展名 IN BOOL bFailIfExists // 目标文件存在是否复制; ) = 0;/* AryOfExistImages.GetSize() == AryOfNewImages.GetSize() */ ////////////////////////////////////////////////////////////////////////// // Copy_ex; virtual INT CopyImg2Specifiedpath_ex( IN LPCTSTR lpExistpath, // 相片源目录; IN LPCTSTR lpSpecifiedpath, // 目标路径; IN LPCTSTR lpCopyExt, // 指定要复制的文件的扩展名; IN LPCTSTR lpWithExt, // 复制文件时同时复制同名的不同扩展名的文件;要附带的扩展名 IN CONST DWORD &dwCopyPix, // 复制时是否要压缩成指定像素; IN BOOL bOriginalCopy, // 复制源相片时,是否原样复制; IN BOOL bFailIfExists // 目标文件存在是否复制; ) = 0; }; // {D9613902-9924-4190-A236-312335A0F1FD} static const GUID IID_ImgLoadSpecifiedpathInterface = { 0xd9613902, 0x9924, 0x4190, { 0xa2, 0x36, 0x31, 0x23, 0x35, 0xa0, 0xf1, 0xfd } }; interface ImgLoadSpecifiedpathInterface:public MyIUnknown { public: // 获取指定路径的全部相片路径; virtual BOOL LoadSpecifiedpathImages( IN LPCTSTR lpSepcifiedpath, // 指定加载的路径; IN BOOL bLoadInSubfolder, // 是否加载子目录; IN LPCTSTR lpLoadExt, // 要加载哪些扩展名; OUT CStringArray &AryOfSpecifiedpathImages // 返回该路径下全部相片的路径(包括子目录); ) = 0; virtual BOOL LoadSpecifiedpathImages( IN LPCTSTR lpSepcifiedpath, // 指定加载的路径; IN BOOL bLoadInSubfolder, // 是否加载子目录; IN LPCTSTR lpLoadExt, // 要加载哪些扩展名; OUT STR_VEC &AryOfSpecifiedpathImages // 返回该路径下全部相片的路径(包括子目录); ) = 0; // 从指定目录里获取选中相片的共享路径;可与LoadSelectedImages配套使用; virtual BOOL LoadSelectedImagesFromSpecifiedpath( IN LPCTSTR lpSepcifiedpath, // 指定加载的路径; IN LPCTSTR lpLoadExt, // 要加载哪些扩展名; IN CStringArray &AryOfSelectedImages, // 一组选中的相片文件名; OUT CStringArray &AryOfNoExistImages, // 不存的相片文件名; OUT CStringArray &AryOfSelectedImagepaths // 存在的相片名路径; ) = 0; virtual BOOL LoadSelectedImagesFromSpecifiedpath( IN LPCTSTR lpSepcifiedpath, // 指定加载的路径; IN LPCTSTR lpLoadExt, // 要加载哪些扩展名; IN STR_VEC &AryOfSelectedImages, // 选中的相片集; OUT STR_VEC &AryOfNoExistImages, // 不存的相片文件名; OUT STR_VEC &AryOfSelectedImagepaths // 选中的相片路径; ) = 0; // 扩展函数; virtual BOOL LoadSpecifiedpathImagesEx( IN LPCTSTR lpSepcifiedpath, // 指定加载的路径; IN BOOL bLoadInSubfolder, // 是否加载子目录; IN LPCTSTR lpLoadExt, // 要加载哪些扩展名; OUT CStringArray &AryOfLoadImgs, // 返回要加载的扩展名的相片的路径(包括子目录); IN LPCTSTR lpWithExt, // 要附带的扩展名; OUT CStringArray &AryOfWithImgs // 返回要附带的扩展名的相片的路径(包括子目录); ) = 0; // 扩展函数; virtual BOOL LoadSpecifiedpathImagesEx( IN LPCTSTR lpSepcifiedpath, // 指定加载的路径; IN BOOL bLoadInSubfolder, // 是否加载子目录; IN LPCTSTR lpLoadExt, // 要加载哪些扩展名; OUT STR_VEC &AryOfLoadImgs, // 返回要加载的扩展名的相片的路径(包括子目录); IN LPCTSTR lpWithExt, // 要附带的扩展名; OUT STR_VEC &AryOfWithImgs // 返回要附带的扩展名的相片的路径(包括子目录); ) = 0; // 扩展函数; virtual BOOL LoadSelectedImagesFromSpecifiedpathEx( IN LPCTSTR lpSepcifiedpath, // 指定加载的路径; IN BOOL bLoadInSubfolder, // 是否加载子目录; IN CStringArray &AryOfSelectedImages, // 选中的相片集,只有文件名,没有扩展名和路径; OUT CStringArray &AryOfNoExistImages, // 不存的相片文件名; IN LPCTSTR lpLoadExt, // 要加载哪些扩展名; OUT CStringArray &AryOfLoadImagepaths, // 要加载的扩展名的相片的路径; IN LPCTSTR lpWithExt, // 要附带的扩展名; OUT CStringArray &AryOfWithImagepaths // 要附带的扩展名的相片的路径; ) = 0; // 扩展函数; virtual BOOL LoadSelectedImagesFromSpecifiedpathEx( IN LPCTSTR lpSepcifiedpath, // 指定加载的路径; IN BOOL bLoadInSubfolder, // 是否加载子目录; IN STR_VEC &AryOfSelectedImages, // 选中的相片集,只有文件名,没有扩展名和路径; OUT STR_VEC &AryOfNoExistImages, // 不存的相片文件名; IN LPCTSTR lpLoadExt, // 要加载哪些扩展名; OUT STR_VEC &AryOfLoadImagepaths, // 要加载的扩展名的相片的路径; IN LPCTSTR lpWithExt, // 要附带的扩展名; OUT STR_VEC &AryOfWithImagepaths // 要附带的扩展名的相片的路径; ) = 0; }; // {75F72D45-C800-46D1-8B9C-2FA05EFA7549} static const GUID IID_ImgLoadOrderpathInterface = { 0x75f72d45, 0xc800, 0x46d1, { 0x8b, 0x9c, 0x2f, 0xa0, 0x5e, 0xfa, 0x75, 0x49 } }; interface ImgLoadOrderpathInterface:public MyIUnknown { public: // 加载选中相片的共享路径; virtual BOOL LoadSelectedImages( IN CONST INT &nImgType, // 相片类型; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpLoadExt, // 要加载哪些扩展名; IN CStringArray &AryOfSelectedImages, // 选中的相片集; OUT CStringArray &AryOfNoExistImages, // 不存的相片文件名; OUT CStringArray &AryOfSelectedImagepaths // 选中的相片路径; ) = 0; virtual BOOL LoadSelectedImages( IN CONST INT &nImgType, // 相片类型; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpLoadExt, // 要加载哪些扩展名; IN STR_VEC &AryOfSelectedImages, // 选中的相片集; OUT STR_VEC &AryOfNoExistImages, // 不存的相片文件名; OUT STR_VEC &AryOfSelectedImagepaths // 选中的相片路径; ) = 0; // 加载选中相片的共享路径(相片名前带子目录名,如:"内景\005"); virtual BOOL LoadSelectedImages2( IN CONST INT &nImgType, // 相片类型; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpLoadExt, // 要加载哪些扩展名; IN CStringArray &AryOfSelectedImages, // 选中的相片集; OUT CStringArray &AryOfNoExistImages, // 不存的相片文件名; OUT CStringArray &AryOfSelectedImagepaths // 选中的相片路径; ) = 0; virtual BOOL LoadSelectedImages2( IN CONST INT &nImgType, // 相片类型; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpLoadExt, // 要加载哪些扩展名; IN STR_VEC &AryOfSelectedImages, // 选中的相片集; OUT STR_VEC &AryOfNoExistImages, // 不存的相片文件名; OUT STR_VEC &AryOfSelectedImagepaths // 选中的相片路径; ) = 0; // 按顺序加载选中相片的共享路径; virtual BOOL LoadSelectedImagesInOrder( IN CONST INT &nImgType, // 相片类型; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpLoadExt, // 要加载哪些扩展名; IN CStringArray &AryOfSelectedImages, // 选中的相片集; OUT CStringArray &AryOfNoExistImages, // 不存的相片文件名; OUT CStringArray &AryOfSelectedImagepaths // 选中的相片路径; ) = 0; virtual BOOL LoadSelectedImagesInOrder( IN CONST INT &nImgType, // 相片类型; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpLoadExt, // 要加载哪些扩展名; IN STR_VEC &AryOfSelectedImages, // 选中的相片集; OUT STR_VEC &AryOfNoExistImages, // 不存的相片文件名; OUT STR_VEC &AryOfSelectedImagepaths // 选中的相片路径; ) = 0; // 加载选中的景点或套系名的全部相片的共享路径; virtual BOOL LoadSceneryImages( IN CONST INT &nImgType, // 相片类型; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpScenery, // 景点名或套系名; IN LPCTSTR lpLoadExt, // 要加载哪些扩展名; OUT CStringArray& AryOfSceneryImagepaths, // 返回所选景点的相片的共享路径; OUT CStringArray* pAryOfSceneryDirectory = NULL // 返回所选景点的文件夹共享路径; ) = 0; virtual BOOL LoadSceneryImages( IN CONST INT &nImgType, // 相片类型; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpScenery, // 景点名或套系名; IN LPCTSTR lpLoadExt, // 要加载哪些扩展名; OUT STR_VEC& AryOfSceneryImagepaths, // 返回所选景点的相片的共享路径; OUT STR_VEC* pAryOfSceneryDirectory = NULL // 返回所选景点的文件夹共享路径; ) = 0; virtual HGLOBAL LoadSceneryImages( IN CONST INT &nImgType, // 相片类型; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpScenery, // 景点名或套系名; IN LPCTSTR lpLoadExt, // 要加载哪些扩展名; OUT DWORD& dwReturnSize // HGLOBAL对象的大小; ) = 0; // 加载指定订单的全部相片的共享路径; virtual BOOL LoadOrderImages( IN CONST INT &nImgType, // 相片类型; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpLoadExt, // 要加载哪些扩展名; OUT CStringArray& AryOfOrderImagePaths, // 返回所选订单的相片的共享路径; OUT CStringArray* pAryOfOrderDirectory = NULL // 返回所选订单文件夹的共享路径; ) = 0; virtual BOOL LoadOrderImages( IN CONST INT &nImgType, // 相片类型; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpLoadExt, // 要加载哪些扩展名; OUT STR_VEC& AryOfOrderImagePaths, // 返回所选订单的相片的共享路径; OUT STR_VEC* pAryOfOrderDirectory = NULL // 返回所选订单文件夹的共享路径; ) = 0; virtual HGLOBAL LoadOrderImages( IN CONST INT &nImgType, // 相片类型; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpLoadExt, // 要加载哪些扩展名; OUT DWORD& dwReturnSize // HGLOBAL对象的大小; ) = 0; }; // static const GUID IID_ImgLoadOrderpathExInterface = { 0x7a3080f3, 0xa0ae, 0x46af, { 0x8e, 0x18, 0x17, 0x93, 0xf8, 0xd0, 0xf7, 0xff } }; interface ImgLoadOrderpathExInterface:public MyIUnknown { public: // 扩展函数; virtual BOOL LoadSelectedImagesEx( IN CONST INT &nImgType, // 相片类型; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN BOOL bLoadInSubfolder, // 是否加载订单子目录; IN CStringArray &AryOfSelectedImages, // 选中的相片集,只有文件名,没有路径与扩展名; OUT CStringArray &AryOfNoExistImages, // 不存的相片文件名; IN LPCTSTR lpLoadExt, // 要加载的扩展名; OUT CStringArray &AryOfLoadImagepaths, // 要加载的扩展名的相片路径; IN LPCTSTR lpWithExt, // 要附带的扩展名; OUT CStringArray &AryOfWithImagepaths // 要附带的扩展名的相片路径; ) = 0; // 扩展函数; virtual BOOL LoadSelectedImagesEx( IN CONST INT &nImgType, // 相片类型; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN BOOL bLoadInSubfolder, // 是否加载订单子目录; IN STR_VEC &AryOfSelectedImages, // 选中的相片集,只有文件名,没有路径与扩展名; OUT STR_VEC &AryOfNoExistImages, // 不存的相片文件名; IN LPCTSTR lpLoadExt, // 要加载的扩展名; OUT STR_VEC &AryOfLoadImagepaths, // 要加载的扩展名的相片路径; IN LPCTSTR lpWithExt, // 要附带的扩展名; OUT STR_VEC &AryOfWithImagepaths // 要附带的扩展名的相片路径; ) = 0; virtual BOOL LoadSelectedImagesInOrderEx( IN CONST INT &nImgType, // 相片类型; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN BOOL bLoadInSubfolder, // 是否加载订单子目录; IN CStringArray &AryOfSelectedImages, // 选中的相片集; OUT CStringArray &AryOfNoExistImages, // 不存的相片文件名; IN LPCTSTR lpLoadExt, // 要加载哪些扩展名; OUT CStringArray &AryOfLoadImagepaths, // 要加载的扩展名的相片路径; IN LPCTSTR lpWithExt, // 要附带的扩展名; OUT CStringArray &AryOfWithImagepaths // 要附带的扩展名的相片路径; ) = 0; virtual BOOL LoadSelectedImagesInOrderEx( IN CONST INT &nImgType, // 相片类型; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN BOOL bLoadInSubfolder, // 是否加载订单子目录; IN STR_VEC &AryOfSelectedImages, // 选中的相片集; OUT STR_VEC &AryOfNoExistImages, // 不存的相片文件名; IN LPCTSTR lpLoadExt, // 要加载哪些扩展名; OUT STR_VEC &AryOfLoadImagepaths, // 要加载的扩展名的相片路径; IN LPCTSTR lpWithExt, // 要附带的扩展名; OUT STR_VEC &AryOfWithImagepaths // 要附带的扩展名的相片路径; ) = 0; virtual BOOL LoadSceneryImagesEx( IN CONST INT &nImgType, // 相片类型; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpScenery, // 景点名或套系名; // 由于是景点文件夹,认为没有子目录;(即使有,也不加载) //IN BOOL bLoadInSubfolder, // 是否加载订单子目录; IN LPCTSTR lpLoadExt, // 要加载哪些扩展名; OUT CStringArray& AryOfLoadImagepaths, // 返回所选景点的相片的共享路径; IN LPCTSTR lpWithExt, // 要附带的扩展名; OUT CStringArray& AryOfWithImagepaths, // 要附带的扩展名的相片的路; OUT CStringArray* pAryOfSceneryDirectory = NULL // 返回所选景点的文件夹共享路径; ) = 0; virtual BOOL LoadSceneryImagesEx( IN CONST INT &nImgType, // 相片类型; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpScenery, // 景点名或套系名; // 由于是景点文件夹,认为没有子目录;(即使有,也不加载) //IN BOOL bLoadInSubfolder, // 是否加载订单子目录; IN LPCTSTR lpLoadExt, // 要加载哪些扩展名; OUT STR_VEC& AryOfLoadImagepaths, // 返回所选景点的相片的共享路径; IN LPCTSTR lpWithExt, // 要附带的扩展名; OUT STR_VEC& AryOfWithImagepaths, // 要附带的扩展名的相片的路; OUT STR_VEC* pAryOfSceneryDirectory = NULL // 返回所选景点的文件夹共享路径; ) = 0; virtual HGLOBAL LoadSceneryImagesEx( IN CONST INT &nImgType, // 相片类型; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpScenery, // 景点名或套系名; // 由于是景点文件夹,认为没有子目录;(即使有,也不加载) //IN BOOL bLoadInSubfolder, // 是否加载订单子目录; IN LPCTSTR lpLoadExt, // 要加载哪些扩展名; IN LPCTSTR lpWithExt, // 要附带的扩展名; OUT DWORD& dwReturnSize // HGLOBAL对象的大小; ) = 0; virtual BOOL LoadOrderImagesEx( IN CONST INT &nImgType, // 相片类型; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN BOOL bLoadInSubfolder, // 是否加载订单子目录; IN LPCTSTR lpLoadExt, // 要加载哪些扩展名; OUT CStringArray& AryOfOrderImagePaths, // 返回所选订单的相片的共享路径; IN LPCTSTR lpWithExt, // 要附带的扩展名; OUT CStringArray& AryOfWithImagepaths, // 要附带的扩展名的相片的路; OUT CStringArray* pAryOfOrderDirectory = NULL // 返回所选订单文件夹的共享路径; ) = 0; virtual BOOL LoadOrderImagesEx( IN CONST INT &nImgType, // 相片类型; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN BOOL bLoadInSubfolder, // 是否加载订单子目录; IN LPCTSTR lpLoadExt, // 要加载哪些扩展名; OUT STR_VEC& AryOfOrderImagePaths, // 返回所选订单的相片的共享路径; IN LPCTSTR lpWithExt, // 要附带的扩展名; OUT STR_VEC& AryOfWithImagepaths, // 要附带的扩展名的相片的路; OUT STR_VEC* pAryOfOrderDirectory = NULL // 返回所选订单文件夹的共享路径; ) = 0; virtual HGLOBAL LoadOrderImagesEx( IN CONST INT &nImgType, // 相片类型; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN BOOL bLoadInSubfolder, // 是否加载订单子目录; IN LPCTSTR lpLoadExt, // 要加载哪些扩展名; //OUT STR_VEC& AryOfOrderImagePaths, // 返回所选订单的相片的共享路径; IN LPCTSTR lpWithExt, // 要附带的扩展名; //OUT STR_VEC& AryOfWithImagepaths // 要附带的扩展名的相片的路; //OUT STR_VEC* pAryOfOrderDirectory = NULL // 返回所选订单文件夹的共享路径; OUT DWORD& dwReturnSize ) = 0; }; ////////////////////////////////////////////////////////////////////////// // {BAD89429-E510-4B37-85D2-5AB9AC6F1845} static const GUID IID_ImgIEEnvInterface = { 0xbad89429, 0xe510, 0x4b37, { 0x85, 0xd2, 0x5a, 0xb9, 0xac, 0x6f, 0x18, 0x45 } }; interface ImgIEEnvInterface:public MyIUnknown { public: //virtual BOOL SetEnvInfo( IN LPVOID lpEnvInfo, IN CONST INT &nEvnType, IN LPCTSTR lpBranchId, IN LPCTSTR lpHostName ) = 0; virtual void SetCallBack( IN LPVOID lpCallBackPtr ) = 0; virtual BOOL SetEnvInfo( IN LPVOID lpEnvInfo, IN LPVOID lpEnvInfo2, IN LPVOID lpEnvInfo3, IN LPCTSTR lpBranchId, IN LPCTSTR lpHostName ) = 0; }; // {C4C788FB-28A6-4FEB-AB9B-B8083EBEBBD8} static const GUID IID_ImgImportInterface = { 0xc4c788fb, 0x28a6, 0x4feb, { 0xab, 0x9b, 0xb8, 0x8, 0x3e, 0xbe, 0xbb, 0xd8 } }; interface ImgImportInterface:public MyIUnknown { public: // 可以显示或不显示进度条; ////////////////////////////////////////////////////////////////////////// // 导入原片; virtual INT ImportOriginalImg( // 不需要相片源,相片源由接口实现去获取; IN BOOL bImportFolder, // 相片源的类型:true = 选择文件夹形式; false = 选择文件形式; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpCustomerInfo, // 顾客信息; IN BOOL bImportScenery, // 导入时是否生成景点名; IN LPCTSTR lpScenery, // 要导入并生成的景点名; IN LPCTSTR lpImportExt, // 要导入的扩展名; IN CONST DWORD &dwImportPix, // 要导入的相片的压缩像素大小;INVALID_COPY_PIX表示不压缩,原比例导入; IN LPCTSTR lpImportWithExt, // 导入相片时,附加要导入的扩展名;附加的相片不设置压缩像素; IN BOOL bGenerateThumbnail, // 导入操作时,是否生成缩略图;只生成lpImportExt的; IN CONST DWORD &dwThumbnailPix, // 要生成的缩略图的像素大小; IN BOOL bFailIfExists // 目标文件存在是否复制,只针对lpImportExt和lpImportWithExt对应的文件,缩略图直接覆盖; ) = 0; virtual INT ImportOriginalImg( // 不需要相片源,相片源由接口实现去获取; IN BOOL bImportFolder, // 相片源的类型:true = 选择文件夹形式; false = 选择文件形式; IN BOOL bRename, // 相片是否需要重命名; IN CONST DWORD &dwImgNo, // 相片起始编号;(两个客户端同时导入一个订单的不同景点相片,会造成相片编号相互交叉覆盖,只有在导入前,与服务器通信获取此时订单是否在导入;选片同理!) IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpCustomerInfo, // 顾客信息; IN BOOL bImportScenery, // 导入时是否生成景点名; IN LPCTSTR lpScenery, // 要导入并生成的景点名; IN LPCTSTR lpImportExt, // 要导入的扩展名; IN CONST DWORD &dwImportPix, // 要导入的相片的压缩像素大小;INVALID_COPY_PIX表示不压缩,原比例导入; IN LPCTSTR lpImportWithExt, // 导入相片时,附加要导入的扩展名;附加的相片不设置压缩像素; IN BOOL bGenerateThumbnail, // 导入操作时,是否生成缩略图;只生成lpImportExt的; IN CONST DWORD &dwThumbnailPix, // 要生成的缩略图的像素大小; IN BOOL bFailIfExists // 目标文件存在是否复制,只针对lpImportExt和lpImportWithExt对应的文件,缩略图直接覆盖; ) = 0; ////////////////////////////////////////////////////////////////////////// // 导入初修片; virtual INT ImportSecondaryImg( // 不需要相片源,相片源由接口实现去获取; IN BOOL bImportFolder, // 相片源的类型:true = 选择文件夹形式; false = 选择文件形式; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpCustomerInfo, // 顾客信息; IN BOOL bImportScenery, // 导入时是否生成景点名; IN LPCTSTR lpScenery, // 要导入并生成的景点名; IN LPCTSTR lpImportExt, // 要导入的扩展名; IN CONST DWORD &dwImportPix, // 要导入的相片的压缩像素大小;INVALID_COPY_PIX表示不压缩,原比例导入; IN LPCTSTR lpImportWithExt, // 导入相片时,附加要导入的扩展名;附加的相片不设置压缩像素; IN BOOL bGenerateThumbnail, // 导入操作时,是否生成缩略图;只生成lpImportExt的; IN CONST DWORD &dwThumbnailPix, // 要生成的缩略图的像素大小; IN BOOL bFailIfExists // 目标文件存在是否复制,只针对lpImportExt和lpImportWithExt对应的文件,缩略图直接覆盖; ) = 0; ////////////////////////////////////////////////////////////////////////// // 导入精修片; virtual INT ImportFurtherImg( // 不需要相片源,相片源由接口实现去获取; IN BOOL bImportFolder, // 相片源的类型:true = 选择文件夹形式; false = 选择文件形式; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpCustomerInfo, // 顾客信息; IN BOOL bImportScenery, // 导入时是否生成景点名; IN LPCTSTR lpScenery, // 要导入并生成的景点名; IN LPCTSTR lpImportExt, // 要导入的扩展名; IN CONST DWORD &dwImportPix, // 要导入的相片的压缩像素大小;INVALID_COPY_PIX表示不压缩,原比例导入; IN LPCTSTR lpImportWithExt, // 导入相片时,附加要导入的扩展名;附加的相片不设置压缩像素; IN BOOL bGenerateThumbnail, // 导入操作时,是否生成缩略图;只生成lpImportExt的; IN CONST DWORD &dwThumbnailPix, // 要生成的缩略图的像素大小; IN BOOL bFailIfExists // 目标文件存在是否复制,只针对lpImportExt和lpImportWithExt对应的文件,缩略图直接覆盖; ) = 0; ////////////////////////////////////////////////////////////////////////// // 导入设计片; virtual INT ImportDesignImg( // 不需要相片源,相片源由接口实现去获取; IN BOOL bImportFolder, // 相片源的类型:true = 选择文件夹形式; false = 选择文件形式; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpCustomerInfo, // 顾客信息; IN BOOL bImportScenery, // 导入时是否生成景点名; IN LPCTSTR lpScenery, // 要导入并生成的景点名; IN LPCTSTR lpImportExt, // 要导入的扩展名; IN CONST DWORD &dwImportPix, // 要导入的相片的压缩像素大小;INVALID_COPY_PIX表示不压缩,原比例导入; IN LPCTSTR lpImportWithExt, // 导入相片时,附加要导入的扩展名;附加的相片不设置压缩像素; IN BOOL bGenerateThumbnail, // 导入操作时,是否生成缩略图;只生成lpImportExt的; IN CONST DWORD &dwThumbnailPix, // 要生成的缩略图的像素大小; IN BOOL bFailIfExists // 目标文件存在是否复制,只针对lpImportExt和lpImportWithExt对应的文件,缩略图直接覆盖; ) = 0; // 导入N8选版目录; virtual INT ImportN8( IN LPCTSTR lpN8ShareDir, // N8共享目录; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpCustomerInfo, // 顾客信息; IN BOOL bImportScenery, // 导入时是否生成景点名; IN LPCTSTR lpScenery, // 要导入并生成的景点名; IN BOOL bFailIfExists // 目标文件存在是否复制,只针对lpImportExt和lpImportWithExt对应的文件,缩略图直接覆盖; ) = 0; }; // {EF5F45F3-2C54-46B5-A525-771854950487} static const GUID IID_ImgExportInterface = { 0xef5f45f3, 0x2c54, 0x46b5, { 0xa5, 0x25, 0x77, 0x18, 0x54, 0x95, 0x4, 0x87 } }; interface ImgExportInterface:public MyIUnknown { public: // 可以显示或不显示进度条; ////////////////////////////////////////////////////////////////////////// // 导出原片; virtual INT ExportOriginalImg( // 不需要相片源,相片源由接口实现去获取; IN BOOL bExportFolder, // 相片源的类型:true = 选择文件夹形式; false = 选择文件形式; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpCustomerInfo, // 顾客信息; IN BOOL bExportScenery, // 导出时是否只导出景点名; IN LPCTSTR lpScenery, // 要导出的景点名; IN LPCTSTR lpExportExt, // 要导出的扩展名; IN CONST DWORD &dwExportPix, // 要导出的相片的压缩像素大小;INVALID_COPY_PIX表示不压缩,原比例导入; IN LPCTSTR lpExportWithExt, // 导出相片时,附加要导出的扩展名;附加的相片不设置压缩像素; IN BOOL bExportThumbnail, // 导出操作时,是否导出缩略图;只生成lpExportExt的; IN BOOL bFailIfExists // 目标文件存在是否复制,只针对lpExportExt和lpExportWithExt对应的文件,缩略图直接覆盖; ) = 0; ////////////////////////////////////////////////////////////////////////// // 导出初修片; virtual INT ExportSecondaryImg( // 不需要相片源,相片源由接口实现去获取; IN BOOL bExportFolder, // 相片源的类型:true = 选择文件夹形式; false = 选择文件形式; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpCustomerInfo, // 顾客信息; IN BOOL bExportScenery, // 导出时是否只导出景点名; IN LPCTSTR lpScenery, // 要导出的景点名; IN LPCTSTR lpExportExt, // 要导出的扩展名; IN CONST DWORD &dwExportPix, // 要导出的相片的压缩像素大小;INVALID_COPY_PIX表示不压缩,原比例导入; IN LPCTSTR lpExportWithExt, // 导出相片时,附加要导出的扩展名;附加的相片不设置压缩像素; IN BOOL bExportThumbnail, // 导出操作时,是否导出缩略图;只生成lpExportExt的; IN BOOL bFailIfExists // 目标文件存在是否复制,只针对lpExportExt和lpExportWithExt对应的文件,缩略图直接覆盖; ) = 0; ////////////////////////////////////////////////////////////////////////// // 导出精修片; virtual INT ExportFurtherImg( // 不需要相片源,相片源由接口实现去获取; IN BOOL bExportFolder, // 相片源的类型:true = 选择文件夹形式; false = 选择文件形式; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpCustomerInfo, // 顾客信息; IN BOOL bExportScenery, // 导出时是否只导出景点名; IN LPCTSTR lpScenery, // 要导出的景点名;(个人觉得精修也需要景点名,尤其是时间跨度很长的儿童成长套系!) IN LPCTSTR lpExportExt, // 要导出的扩展名; IN CONST DWORD &dwExportPix, // 要导出的相片的压缩像素大小;INVALID_COPY_PIX表示不压缩,原比例导入; IN LPCTSTR lpExportWithExt, // 导出相片时,附加要导出的扩展名;附加的相片不设置压缩像素; IN BOOL bExportThumbnail, // 导出操作时,是否导出缩略图;只生成lpExportExt的; IN BOOL bFailIfExists // 目标文件存在是否复制,只针对lpExportExt和lpExportWithExt对应的文件,缩略图直接覆盖; ) = 0; ////////////////////////////////////////////////////////////////////////// // 导出设计片; virtual INT ExportDesignImg( // 不需要相片源,相片源由接口实现去获取; IN BOOL bExportFolder, // 相片源的类型:true = 选择文件夹形式; false = 选择文件形式; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpCustomerInfo, // 顾客信息; IN BOOL bExportScenery, // 导出时是否只导出景点名; IN LPCTSTR lpScenery, // 要导出的景点名;(个人觉得精修也需要景点名,尤其是时间跨度很长的儿童成长套系!) IN LPCTSTR lpExportExt, // 要导出的扩展名; IN CONST DWORD &dwExportPix, // 要导出的相片的压缩像素大小;INVALID_COPY_PIX表示不压缩,原比例导入; IN LPCTSTR lpExportWithExt, // 导出相片时,附加要导出的扩展名;附加的相片不设置压缩像素; IN BOOL bExportThumbnail, // 导出操作时,是否导出缩略图;只生成lpExportExt的; IN BOOL bFailIfExists // 目标文件存在是否复制,只针对lpExportExt和lpExportWithExt对应的文件,缩略图直接覆盖; ) = 0; ////////////////////////////////////////////////////////////////////////// // 导出选好的修好的片; virtual HGLOBAL ExportSelectedBeautifyImg( // 外部传入选中的相片、dindansp、dindan记录; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpCustomerInfo, // 顾客信息; IN BOOL bExportScenery, // 导出时是否只导出景点名; IN LPCTSTR lpScenery, // 要导出的景点名;(个人觉得精修也需要景点名,尤其是时间跨度很长的儿童成长套系!) IN LPCTSTR lpExportExt, // 要导出的扩展名; IN CONST DWORD &dwExportPix, // 要导出的相片的压缩像素大小;INVALID_COPY_PIX表示不压缩,原比例导入; IN LPCTSTR lpExportWithExt, // 导出相片时,附加要导出的扩展名;附加的相片不设置压缩像素; //IN BOOL bExportThumbnail, // 导出操作时,是否导出缩略图;只生成lpExportExt的; IN BOOL bFailIfExists, // 目标文件存在是否复制,只针对lpExportExt和lpExportWithExt对应的文件,缩略图直接覆盖; IN BOOL bExportWithName, IN BOOL bGrowth, // 是否是成长套系; IN CONST INT& nExportMode, IN LPCTSTR lpImgNums, IN LPCTSTR lpPerImgGoods, IN LPCTSTR lpCropInfo ) = 0; ////////////////////////////////////////////////////////////////////////// // 导出选好的设计片; virtual HGLOBAL ExportSelectedDesignImg( // 外部传入选中的相片、dindansp、dindan记录; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpCustomerInfo, // 顾客信息; IN BOOL bExportScenery, // 导出时是否只导出景点名; IN LPCTSTR lpScenery, // 要导出的景点名;(个人觉得精修也需要景点名,尤其是时间跨度很长的儿童成长套系!) IN LPCTSTR lpExportExt, // 要导出的扩展名; IN CONST DWORD &dwExportPix, // 要导出的相片的压缩像素大小;INVALID_COPY_PIX表示不压缩,原比例导入; IN LPCTSTR lpExportWithExt, // 导出相片时,附加要导出的扩展名;附加的相片不设置压缩像素; //IN BOOL bExportThumbnail, // 导出操作时,是否导出缩略图;只生成lpExportExt的; IN BOOL bFailIfExists, // 目标文件存在是否复制,只针对lpExportExt和lpExportWithExt对应的文件,缩略图直接覆盖; //IN BOOL bExportWithName, IN BOOL bGrowth, // 是否是成长套系; //IN CONST INT& nExportMode, IN LPCTSTR lpImgNums, IN LPCTSTR lpPerImgGoods, IN LPCTSTR lpCropInfo ) = 0; virtual INT ExportBarCodeImg( IN CONST INT& nBarCodeType, // 条码类型; IN INT nWidth, // 图片宽(最好传屏幕宽); IN INT nHeight, // 图片高(最好传屏幕高); IN CONST INT& nPenWidth, // 条码柱宽; IN CONST INT& nPenHeight, // 条码柱高; IN LPCTSTR lpBarAutoId, // 商品AutoId; IN LPCTSTR lpBarOrderNum, // 订单号; IN LPCTSTR lpBarProduct, // 商品名称; IN LPCTSTR lpSaveImgDirectory, // 要保存的目录; IN LPCTSTR lpSaveImgName = NULL // 要保存的名称(NULL则使用商品名称) ) = 0; // 导出多个商品的条形码到一张位图上; virtual INT ExportOrderBarCodeImg( IN CONST INT& nBarCodeType, // 条码类型; IN INT nWidth, // 图片宽(最好传屏幕宽); IN INT nHeight, // 图片高(最好传屏幕高); IN CONST INT& nPenWidth, // 条码柱宽; IN CONST INT& nPenHeight, // 条码柱高; IN CArray &AryOrderInfo, // 订单信息; IN LPCTSTR lpSaveDirectory // 保存位图的路径; ) = 0; ////////////////////////////////////////////////////////////////////////// // 导出N8选版; virtual INT ExportN8( // 不需要相片源,相片源由接口实现去获取; IN LPCTSTR lpN8ShareDir, // N8共享目录; IN LPCTSTR lpBranchId, // 分店域名; IN LPCTSTR lpOrderNum, // 订单号; IN LPCTSTR lpCustomerInfo, // 顾客信息; IN BOOL bExportScenery, // 导出时是否只导出景点名; IN LPCTSTR lpScenery, // 要导出的景点名;(个人觉得精修也需要景点名,尤其是时间跨度很长的儿童成长套系!) IN BOOL bFailIfExists // 目标文件存在是否复制,只针对lpExportExt和lpExportWithExt对应的文件,缩略图直接覆盖; ) = 0; }; #endif