IRWEngineInfoList.h
上传用户:yatsl7111
上传日期:2007-01-08
资源大小:1433k
文件大小:3k
源码类别:

图形图象

开发平台:

Visual C++

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