- /********************************************************************
- IRWEngineInfoList.h - ISee图像读写引擎插件信息列表类定义文件
- 版权所有(C) VCHelp-coPathway-ISee workgroup 2000 all member's
- 这一程序是自由软件,你可以遵照自由软件基金会出版的GNU 通用许可证
- 条款来修改和重新发布这一程序。或者用许可证的第二版,或者(根据你
- 的选择)用任何更新的版本。
- 发布这一程序的目的是希望它有用,但没有任何担保。甚至没有适合特定
- 目地的隐含的担保。更详细的情况请参阅GNU通用许可证。
- 你应该已经和程序一起收到一份GNU通用许可证(GPL)的副本。如果还没有,
- 写信给:
- The Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
- MA02139, USA
- 如果你在使用本软件时有什么问题或建议,用以下地址可以与我们取得联
- 系:
- http://isee.126.com
- http://www.vchelp.net
- 或:
- iseesoft@china.com
- 作 者:YZ
- e-mail:yzfree@sina.com
- 功能实现:图像读写插件的信息类实现代码,简化了对插件信息的管理。
- 文件版本:
- Build 00007
- Date 2000-12-4
- ********************************************************************/
- #ifndef __IRWE_INFOLIST_INC__
- #define __IRWE_INFOLIST_INC__
- #include "..publicgol_isee.h"
- // ISee图像读写插件(DLL)接口函数原型
- typedef int (WINAPI *IRWP_INTERFACE)(LPINFOSTR);
- // 读写模块工作状态
- #define IRWEMS_NULL 0 // 模块未调入
- #define IRWEMS_CA 1 // 模块已调入,并正在工作
- #define IRWEMS_CR 2 // 模块已调入,但处于空闲状态
- #pragma pack(push)
- #pragma pack(4)
- typedef struct _tagIRWModuleInfo
- {
- int m_SN; // 序号
- BYTE m_ModuleName[16]; // 模块名
- BYTE m_FileName[256]; // 文件名
- BYTE m_Path[256]; // 路径(不包括文件名)
- int m_ProcTypeNumber; // 能处理的文件类型个数
- BYTE m_ProcTypeName[32]; // 能处理的文件类型名字符串
- WORD m_Attrib; // 属性(版本模式、内置外置)
- WORD m_Version; // 版本号
- DWORD m_Function; // 功能标识
- // 0位是读支持标志,
- // 1位是写支持标志,
- // 2位是"指定尺寸"的读支持标志,(ReSize)
- // 其它未用
- UINT m_PRI; // 优先级
- BYTE m_Author[16]; // 作者名
- BYTE m_EMail[32]; // 作者电邮地址
- BYTE m_Notion[144]; // 留言信息(不能多余72个汉字)
- UINT m_ModuleState; // 模块当前的状态(参见IRWEMS_为前缀的符号定义)
- BOOL m_SelectMark; // 模块选择标志(只供内部使用,TRUE—已被选择,FALSE—未选择)
- HINSTANCE m_hDll; // 模块DLL句柄
- IRWP_INTERFACE m_IRWPInterFace; // 模块DLL接口函数地址。
- } IRWMODULEINFO, *LPIRWMODULEINFO;
- #pragma pack(pop)
- #define _IRWEINFOLIST_SIZE 256 // 信息表元素个数(缺省值)
- // 图像读写引擎信息库(该类只供引擎内部使用,不得
- // 在其它文件中定义此类的实例)
- class _IRWEC_InfoList
- {
- public:
- _IRWEC_InfoList();
- ~_IRWEC_InfoList();
- int GetMaxElemSize(void); // 可容纳元素的最大个数
- int GetUsedElemSize(void); // 已使用元素的个数
- int GetActiveElemSize(void); // 被激活的元素个数
- int AddElement(int num); // 添加有效元素区
- int Destroy(void);
- void ZeroAllElement(void); // 信息表清零
- LPIRWMODULEINFO GetAt(int index);
- // Attrib
- public:
- IRWMODULEINFO m_info[_IRWEINFOLIST_SIZE]; // 插件信息表
- int m_Active; // 已经调入的插件个数
- int m_Count; // 可用插件总个数
- };
- #endif /*__IRWE_INFOLIST_INC__*/