#ifndef __HGSCANNERLIB_H__ #define __HGSCANNERLIB_H__ #include "HGDef.h" HG_DECLARE_HANDLE(HGLibImage); HG_DECLARE_HANDLE(HGLibDevice); /* 1位黑白图 */ #define HGLIB_IMGTYPE_BINARY 1L /* 8位灰度图 */ #define HGLIB_IMGTYPE_GRAY 2L /* 24位真彩色,B8G8R8格式 */ #define HGLIB_IMGTYPE_BGR 3L /* 24位真彩色,R8G8B8格式 */ #define HGLIB_IMGTYPE_RGB 4L /* 32位真彩色,带Alpha通道,B8G8R8A8格式 */ #define HGLIB_IMGTYPE_BGRA 5L /* 32位真彩色,带Alpha通道,R8G8B8A8格式 */ #define HGLIB_IMGTYPE_RGBA 6L /* 图像数据保存方式 */ #define HGLIB_IMGORIGIN_TOP 1L #define HGLIB_IMGORIGIN_BOTTOM 2L /* TIFF压缩方式 */ #define HGLIB_TIFFCOMPRESSION_NONE 1L #define HGLIB_TIFFCOMPRESSION_CCITTFAX4 2L #define HGLIB_TIFFCOMPRESSION_LZW 3L #define HGLIB_TIFFCOMPRESSION_JPEG 4L /* 设备操作码 */ #define HGLIB_DEV_OPERATECODE_GOOD 0L #define HGLIB_DEV_OPERATECODE_UNSUPPORTED 1L #define HGLIB_DEV_OPERATECODE_CANCELLED 2L #define HGLIB_DEV_OPERATECODE_BUSY 3L #define HGLIB_DEV_OPERATECODE_INVAL 4L #define HGLIB_DEV_OPERATECODE_EOF 5L #define HGLIB_DEV_OPERATECODE_JAMMED 6L #define HGLIB_DEV_OPERATECODE_NO_DOCS 7L #define HGLIB_DEV_OPERATECODE_COVER_OPEN 8L #define HGLIB_DEV_OPERATECODE_IO_ERROR 9L #define HGLIB_DEV_OPERATECODE_NO_MEM 10L #define HGLIB_DEV_OPERATECODE_ACCESS_DENIED 11L /* 设备热拔插事件 */ #define HGLIB_DEVHOTPLUG_EVENT_ARRIVE 1L #define HGLIB_DEVHOTPLUG_EVENT_REMOVE 2L /* 设备扫描事件 */ #define HGLIB_DEVSCAN_EVENT_BEGIN 1L #define HGLIB_DEVSCAN_EVENT_END 2L #define HGLIB_DEVSCAN_EVENT_INFO 3L /* 组名 */ // 基本设置 #define HGLIB_GROUP_NAME_BASESETTING 1L // 亮度 #define HGLIB_GROUP_NAME_BRIGHTNESS 2L // 图像处理 #define HGLIB_GROUP_NAME_IMAGEPROCESS 3L // 送纸方式设置 #define HGLIB_GROUP_NAME_PAPERFEEDING 4L /* 配置名 */ #define HGLIB_OPTION_NAME_UNKNOWN 0L // "多流输出" #define HGLIB_OPTION_NAME_DLSC 1L // "多流输出类型" #define HGLIB_OPTION_NAME_DLSCLX 2L // "颜色模式" #define HGLIB_OPTION_NAME_YSMS 3L // "黑白图像阈值" #define HGLIB_OPTION_NAME_HBTXYZ 4L // "灰度或黑白图像 - 除色" #define HGLIB_OPTION_NAME_HDHHBTX_CS 5L // "24位彩色图像 - 多流输出除红" #define HGLIB_OPTION_NAME_24WCSTX_DLSCCH 6L // "24位彩色图像 - 答题卡除红" #define HGLIB_OPTION_NAME_24WCSTX_DTKCH 7L // "背景移除" #define HGLIB_OPTION_NAME_BJYC 8L // "背景色彩浮动范围" #define HGLIB_OPTION_NAME_BJSCFDFW 9L // "锐化与模糊" #define HGLIB_OPTION_NAME_RHYMH 10L // "去除摩尔纹" #define HGLIB_OPTION_NAME_QCMW 11L // "除网纹" #define HGLIB_OPTION_NAME_CWW 12L // "错误扩散" #define HGLIB_OPTION_NAME_CWKS 13L // "黑白图像噪点优化" #define HGLIB_OPTION_NAME_HBTXZDYH 14L // "噪点优化尺寸" #define HGLIB_OPTION_NAME_ZDYHCC 15L // "纸张尺寸" #define HGLIB_OPTION_NAME_ZZCC 16L // "自定义扫描区域" #define HGLIB_OPTION_NAME_ZDYSMQY 17L // "扫描区域左侧(mm)" #define HGLIB_OPTION_NAME_SMQYZCmm 18L // "扫描区域右侧(mm)" #define HGLIB_OPTION_NAME_SMQYYCmm 19L // "扫描区域上侧(mm)" #define HGLIB_OPTION_NAME_SMQYSCmm 20L // "扫描区域下侧(mm)" #define HGLIB_OPTION_NAME_SMQYXCmm 21L // "尺寸检测" #define HGLIB_OPTION_NAME_CCJC 22L // "扫描页面" #define HGLIB_OPTION_NAME_SMYM 23L // "跳过空白页灵敏度" #define HGLIB_OPTION_NAME_TGKBYLMD 24L // "分纸强度" #define HGLIB_OPTION_NAME_FZQD 25L // "休眠时间" #define HGLIB_OPTION_NAME_XMSJ 26L // "分辨率" #define HGLIB_OPTION_NAME_FBL 27L // "画质" #define HGLIB_OPTION_NAME_HZ 28L // "交换正反面" #define HGLIB_OPTION_NAME_JHZFM 29L // "图像拆分" #define HGLIB_OPTION_NAME_TXCF 30L // "自动纠偏" #define HGLIB_OPTION_NAME_ZDJP 31L // "启用色调曲线" #define HGLIB_OPTION_NAME_QYSDQX 32L // "亮度值" #define HGLIB_OPTION_NAME_LDZ 33L // "对比度" #define HGLIB_OPTION_NAME_DBD 34L // "伽马值" #define HGLIB_OPTION_NAME_GMZ 35L // "照片模式" #define HGLIB_OPTION_NAME_ZPMS 36L // "消除黑框" #define HGLIB_OPTION_NAME_XCHK 37L // "深色样张" #define HGLIB_OPTION_NAME_SSYZ 38L // "阈值" #define HGLIB_OPTION_NAME_YZ 39L // "背景抗噪等级" #define HGLIB_OPTION_NAME_BJKZDJ 40L // "边缘缩进" #define HGLIB_OPTION_NAME_BYSJ 41L // "背景填充方式" #define HGLIB_OPTION_NAME_BJTCFS 42L // "防止渗透" #define HGLIB_OPTION_NAME_FZST 43L // "防止渗透等级" #define HGLIB_OPTION_NAME_FZSTDJ 44L // "穿孔移除—左侧" #define HGLIB_OPTION_NAME_CKYCZC 45L // #"左侧穿孔搜索范围占幅面比例" #define HGLIB_OPTION_NAME_ZCCKSSFWZFMBL 46L // "穿孔移除—右侧" #define HGLIB_OPTION_NAME_CKYCYC 47L // #"右侧穿孔搜索范围占幅面比例" #define HGLIB_OPTION_NAME_YCCKSSFWZFMBL 48L // "穿孔移除—上侧" #define HGLIB_OPTION_NAME_CKYCSC 49L // #"上侧穿孔搜索范围占幅面比例" #define HGLIB_OPTION_NAME_SCCKSSFWZFMBL 50L // "穿孔移除—下侧" #define HGLIB_OPTION_NAME_CKYCXC 51L // #"下侧穿孔搜索范围占幅面比例" #define HGLIB_OPTION_NAME_XCCKSSFWZFMBL 52L // "色彩填充" #define HGLIB_OPTION_NAME_SCTC 53L // "超声波检测" #define HGLIB_OPTION_NAME_CSBJC 54L // "双张图片处理" #define HGLIB_OPTION_NAME_SZTPCL 55L // "装订检测" #define HGLIB_OPTION_NAME_ZDJC 56L // "扫描张数" #define HGLIB_OPTION_NAME_SMZS 57L // "扫描数量" #define HGLIB_OPTION_NAME_SMSL 58L // "文稿方向" #define HGLIB_OPTION_NAME_WGFX 59L // "背面旋转180°" #define HGLIB_OPTION_NAME_BMXZ180 60L // "折角检测" #define HGLIB_OPTION_NAME_ZJJC 61L // "折角大小" #define HGLIB_OPTION_NAME_ZJDX 62L // "歪斜检测" #define HGLIB_OPTION_NAME_WXJC 63L // "歪斜容忍度" #define HGLIB_OPTION_NAME_WXRRD 64L // 自动分纸强度 #define HGLIB_OPTION_NAME_ZDCZQD 65L // 进纸失败率 #define HGLIB_OPTION_NAME_CZYZ 66L // 待纸扫描 #define HGLIB_OPTION_NAME_DZSM 67L // 黑白图像反色输出(正常颜色为:0 - 黑色;1 - 白色) #define HGLIB_OPTION_NAME_HBTXFSSC 68L // 对折模式 #define HGLIB_OPTION_NAME_DZMS 69L // 色偏校正 #define HGLIB_OPTION_NAME_SPJZ 70L // 待纸扫描退出时间 #define HGLIB_OPTION_NAME_DZSMTCSJ 71L /* 配置枚举值 */ // "无" #define HGLIB_OPTION_ENUMVALUE_DLSCLX_W 1L // "彩色+灰度+黑白" #define HGLIB_OPTION_ENUMVALUE_DLSCLX_CS_HD_HB 2L // "彩色+灰度" #define HGLIB_OPTION_ENUMVALUE_DLSCLX_CS_HD 3L // "彩色+黑白" #define HGLIB_OPTION_ENUMVALUE_DLSCLX_CS_HB 4L // "灰度+黑白" #define HGLIB_OPTION_ENUMVALUE_DLSCLX_HD_HB 5L // "24位彩色" #define HGLIB_OPTION_ENUMVALUE_YSMS_24WCS 6L // "256级灰度" #define HGLIB_OPTION_ENUMVALUE_YSMS_256JHD 7L // "黑白" #define HGLIB_OPTION_ENUMVALUE_YSMS_HB 8L // "颜色自动识别" #define HGLIB_OPTION_ENUMVALUE_YSMS_YSZDSB 9L // "不除色" #define HGLIB_OPTION_ENUMVALUE_HDHHBTX_CS_BCS 10L // "除红色" #define HGLIB_OPTION_ENUMVALUE_HDHHBTX_CS_CHS 11L // "除绿色" #define HGLIB_OPTION_ENUMVALUE_HDHHBTX_CS_CLS 12L // "除蓝色" #define HGLIB_OPTION_ENUMVALUE_HDHHBTX_CS_CHULANSE 13L // "红色增强" #define HGLIB_OPTION_ENUMVALUE_HDHHBTX_CS_HSZQ 14L // "绿色增强" #define HGLIB_OPTION_ENUMVALUE_HDHHBTX_CS_LSZQ 15L // "蓝色增强" #define HGLIB_OPTION_ENUMVALUE_HDHHBTX_CS_LANSEZENGQIANG 16L // "无" #define HGLIB_OPTION_ENUMVALUE_RHYMH_W 17L // "锐化" #define HGLIB_OPTION_ENUMVALUE_RHYMH_RH 18L // "进一步锐化" #define HGLIB_OPTION_ENUMVALUE_RHYMH_JYBRH 19L // "模糊" #define HGLIB_OPTION_ENUMVALUE_RHYMH_MH 20L // "进一步模糊" #define HGLIB_OPTION_ENUMVALUE_RHYMH_JYBMH 21L // "A3" #define HGLIB_OPTION_ENUMVALUE_ZZCC_A3 22L // "8开" #define HGLIB_OPTION_ENUMVALUE_ZZCC_8K 23L // "A4" #define HGLIB_OPTION_ENUMVALUE_ZZCC_A4 24L // "A4横向" #define HGLIB_OPTION_ENUMVALUE_ZZCC_A4HX 25L // "16开" #define HGLIB_OPTION_ENUMVALUE_ZZCC_16K 26L // "16开横向" #define HGLIB_OPTION_ENUMVALUE_ZZCC_16KHX 27L // "A5" #define HGLIB_OPTION_ENUMVALUE_ZZCC_A5 28L // "A5横向" #define HGLIB_OPTION_ENUMVALUE_ZZCC_A5HX 29L // "A6" #define HGLIB_OPTION_ENUMVALUE_ZZCC_A6 30L // "A6横向" #define HGLIB_OPTION_ENUMVALUE_ZZCC_A6HX 31L // "B4" #define HGLIB_OPTION_ENUMVALUE_ZZCC_B4 32L // "B5" #define HGLIB_OPTION_ENUMVALUE_ZZCC_B5 33L // "B5横向" #define HGLIB_OPTION_ENUMVALUE_ZZCC_B5HX 34L // "B6" #define HGLIB_OPTION_ENUMVALUE_ZZCC_B6 35L // "B6横向" #define HGLIB_OPTION_ENUMVALUE_ZZCC_B6HX 36L // "Letter" #define HGLIB_OPTION_ENUMVALUE_ZZCC_Letter 37L // "Letter横向" #define HGLIB_OPTION_ENUMVALUE_ZZCC_LetterHX 38L // "Double Letter" #define HGLIB_OPTION_ENUMVALUE_ZZCC_DoubleLetter 39L // "LEGAL" #define HGLIB_OPTION_ENUMVALUE_ZZCC_LEGAL 40L // "匹配原始尺寸" #define HGLIB_OPTION_ENUMVALUE_ZZCC_PPYSCC 41L // "最大扫描尺寸自动裁切" #define HGLIB_OPTION_ENUMVALUE_ZZCC_ZDSMCCZDCQ 42L // "最大扫描尺寸" #define HGLIB_OPTION_ENUMVALUE_ZZCC_ZDSMCC 43L // "三联试卷" #define HGLIB_OPTION_ENUMVALUE_ZZCC_SLSJ 44L // "单面" #define HGLIB_OPTION_ENUMVALUE_SMYM_DM 45L // "双面" #define HGLIB_OPTION_ENUMVALUE_SMYM_SM 46L // "跳过空白页(通用)" #define HGLIB_OPTION_ENUMVALUE_SMYM_TGKBYTY 47L // "跳过空白页(发票纸)" #define HGLIB_OPTION_ENUMVALUE_SMYM_TGKBYFPZ 48L // "对折" #define HGLIB_OPTION_ENUMVALUE_SMYM_DZ 49L // "无" #define HGLIB_OPTION_ENUMVALUE_HZ_W 50L // "速度优先" #define HGLIB_OPTION_ENUMVALUE_HZ_SDYX 51L // "画质优先" #define HGLIB_OPTION_ENUMVALUE_HZ_HZYX 52L // "凸多边形" #define HGLIB_OPTION_ENUMVALUE_BJTCFS_TDBX 53L // "凹多边形" #define HGLIB_OPTION_ENUMVALUE_BJTCFS_ADBX 54L // "弱" #define HGLIB_OPTION_ENUMVALUE_FZSTDJ_R 55L // "较弱" #define HGLIB_OPTION_ENUMVALUE_FZSTDJ_JR 56L // "一般" #define HGLIB_OPTION_ENUMVALUE_FZSTDJ_YB 57L // "较强" #define HGLIB_OPTION_ENUMVALUE_FZSTDJ_JQ 58L // "强" #define HGLIB_OPTION_ENUMVALUE_FZSTDJ_Q 59L // "丢弃图像并停止扫描" #define HGLIB_OPTION_ENUMVALUE_SZTPCL_DQTXBTZSM 60L // "丢弃图像并继续扫描" #define HGLIB_OPTION_ENUMVALUE_SZTPCL_DQTXBJXSM 61L // "上传图像并停止扫描" #define HGLIB_OPTION_ENUMVALUE_SZTPCL_SCTXBTZSM 62L // "上传图像并继续扫描" #define HGLIB_OPTION_ENUMVALUE_SZTPCL_SCTXBJXSM 63L // "连续扫描" #define HGLIB_OPTION_ENUMVALUE_SMZS_LXSM 64L // "扫描指定张数" #define HGLIB_OPTION_ENUMVALUE_SMZS_SMZDZS 65L // "0°" #define HGLIB_OPTION_ENUMVALUE_WGFX_0 66L // "90°" #define HGLIB_OPTION_ENUMVALUE_WGFX_90 67L // "180°" #define HGLIB_OPTION_ENUMVALUE_WGFX_180 68L // "-90°" #define HGLIB_OPTION_ENUMVALUE_WGFX__90 69L // "自动文本方向识别°" #define HGLIB_OPTION_ENUMVALUE_WGFX_ZDWBFXSB 70L // "分纸强度-弱" #define HGLIB_OPTION_ENUMVALUE_FZQD_R 71L // "分纸强度-一般" #define HGLIB_OPTION_ENUMVALUE_FZQD_YB 72L // "分纸强度-强" #define HGLIB_OPTION_ENUMVALUE_FZQD_Q 73L // "不休眠" #define HGLIB_OPTION_ENUMVALUE_XMSJ_BXM 74L // "五分钟" #define HGLIB_OPTION_ENUMVALUE_XMSJ_WFZ 75L // "十分钟" #define HGLIB_OPTION_ENUMVALUE_XMSJ_SFZ 76L // "半小时" #define HGLIB_OPTION_ENUMVALUE_XMSJ_BXS 77L // "一小时" #define HGLIB_OPTION_ENUMVALUE_XMSJ_YXS 78L // "两小时" #define HGLIB_OPTION_ENUMVALUE_XMSJ_LXS 79L // "四小时" #define HGLIB_OPTION_ENUMVALUE_XMSJ_SXS 80L // 左右对折 #define HGLIB_OPTION_ENUMVALUE_ZYDZ 81L // 上下对折 #define HGLIB_OPTION_ENUMVALUE_SXDZ 82L // 自动对折 #define HGLIB_OPTION_ENUMVALUE_ZDDZ 83L // 待纸扫描退出时间15s #define HGLIB_OPTION_ENUMVALUE_DZSMTCSJ_15S 84L // 待纸扫描退出时间30s #define HGLIB_OPTION_ENUMVALUE_DZSMTCSJ_30S 85L // 待纸扫描退出时间60s #define HGLIB_OPTION_ENUMVALUE_DZSMTCSJ_60S 86L // 待纸扫描退出时间2min #define HGLIB_OPTION_ENUMVALUE_DZSMTCSJ_2MIN 87L // 待纸扫描退出时间4min #define HGLIB_OPTION_ENUMVALUE_DZSMTCSJ_4MIN 88L // 待纸扫描退出时间8min #define HGLIB_OPTION_ENUMVALUE_DZSMTCSJ_8MIN 89L /* 配置值类型 */ #define HGLIB_OPTION_VALUETYPE_INT 1L #define HGLIB_OPTION_VALUETYPE_ENUM 2L #define HGLIB_OPTION_VALUETYPE_DOUBLE 3L #define HGLIB_OPTION_VALUETYPE_BOOL 4L /* 配置值范围类型 */ #define HGLIB_OPTION_VALUERANGETYPE_NULL 0L #define HGLIB_OPTION_VALUERANGETYPE_INTLIST 1L #define HGLIB_OPTION_VALUERANGETYPE_ENUMLIST 2L #define HGLIB_OPTION_VALUERANGETYPE_DOUBLELIST 3L #define HGLIB_OPTION_VALUERANGETYPE_INTRANGE 4L #define HGLIB_OPTION_VALUERANGETYPE_DOUBLERANGE 5L #pragma pack(push) #pragma pack(4) typedef struct { HGUInt size; /* 结构体大小,必须初始化为sizeof(HGLibSaveImageParam) */ HGUInt jpegQuality; /* jpeg下有效, 0-100 */ HGUInt tiffCompression; /* tiff下有效, HGLIB_TIFFCOMPRESSION_* */ HGUInt tiffJpegQuality; /* tiff且HGLIB_TIFFCOMPRESSION_JPEG下有效, 0-100 */ HGBool ocr; /* 是否OCR,pdf和ofd格式有效 */ }HGLibSaveImageParam; /* 图像信息 */ typedef struct { HGUInt width; /* 宽(像素),列数 */ HGUInt height; /* 高(像素),行数 */ HGUInt type; /* 类型,参见HGLIB_IMGTYPE_* */ HGUInt widthStep; /* 每行的字节数 */ HGUInt origin; /* 数据排列方式,参见HGLIB_IMGORIGIN_* */ }HGLibImageInfo; typedef struct { HGInt* value; HGUInt count; }HGLibDeviceIntValueList; typedef struct { HGUInt* value; HGUInt count; }HGLibDeviceEnumValueList; typedef struct { HGDouble* value; HGUInt count; }HGLibDeviceDoubleValueList; typedef struct { HGInt minValue; HGInt maxValue; }HGLibDeviceIntValueRange; typedef struct { HGDouble minValue; HGDouble maxValue; }HGLibDeviceDoubleValueRange; typedef struct { HGUInt option; /* 配置名, 参见HGLIB_OPTION_NAME_* */ HGUInt type; /* 值类型, 参见HGLIB_OPTION_VALUETYPE_* */ union { HGInt intValue; HGUInt enumValue; HGDouble doubleValue; HGBool boolValue; }; HGUInt rangeType; /* 值范围类型, 参见HGLIB_OPTION_VALUERANGETYPE_* */ union { HGLibDeviceIntValueList intValueList; HGLibDeviceEnumValueList enumValueList; HGLibDeviceDoubleValueList doubleValueList; HGLibDeviceIntValueRange intValueRange; HGLibDeviceDoubleValueRange doubleValueRange; }; }HGLibDeviceParam; typedef struct { HGUInt group; /* 组名, 参见HGLIB_GROUP_NAME_* */ HGLibDeviceParam* param; HGUInt paramCount; }HGLibDeviceParamGroup; #pragma pack(pop) /* 设备热拔插回调 * event: HGLIB_DEVHOTPLUG_EVENT_* * deviceName: 设备名 * param: 回调参数 */ typedef void (HGAPI *HGLibDeviceHotPlugEventFunc)(HGUInt event, const HGChar *deviceName, HGPointer param); /* 设备扫描事件回调 * device: 设备句柄 * event: HGLIB_DEVSCAN_EVENT_* * err: 是否是错误信息, HGLIB_DEVSCAN_EVENT_INFO下有效 * info: 扫描信息, HGLIB_DEVSCAN_EVENT_INFO下有效 * param: 回调参数 */ typedef void (HGAPI *HGLibDeviceScanEventFunc)(HGLibDevice device, HGUInt event, HGBool err, const HGChar *info, HGPointer param); /* 设备扫描图像回调 * device: 设备句柄 * image: 图像句柄, 不要调用HGLib_ReleaseImage释放, 回调执行后会自动释放 * param: 回调参数 */ typedef void (HGAPI *HGLibDeviceScanImageFunc)(HGLibDevice device, HGLibImage image, HGPointer param); /* 加载图像 */ HGEXPORT HGLibImage HGAPI HGLib_LoadImage(const HGChar *filePath); /* 获取图像数据 */ HGEXPORT HGByte* HGAPI HGLib_GetImageData(HGLibImage image); /* 获取图像信息 */ HGEXPORT HGBool HGAPI HGLib_GetImageInfo(HGLibImage image, HGLibImageInfo* imageInfo); /* 保存图像 */ HGEXPORT HGBool HGAPI HGLib_SaveImage(HGLibImage image, const HGChar* savePath, const HGLibSaveImageParam* saveParam); /* 释放图像 */ HGEXPORT HGBool HGAPI HGLib_ReleaseImage(HGLibImage image); /* 初始化扫描仪 */ HGEXPORT HGBool HGAPI HGLib_InitDevice(HGLibDeviceHotPlugEventFunc func, HGPointer param); /* 反初始化扫描仪 */ HGEXPORT HGBool HGAPI HGLib_DeinitDevice(); /* 获取扫描仪名称列表 */ HGEXPORT HGChar** HGAPI HGLib_GetDeviceNameList(); /* 销毁扫描仪名称列表 */ HGEXPORT HGBool HGAPI HGLib_ReleaseDeviceNameList(HGChar** deviceName); /* 打开设备 */ HGEXPORT HGLibDevice HGAPI HGLib_OpenDevice(const HGChar *deviceName); /* 关闭设备 */ HGEXPORT HGBool HGAPI HGLib_CloseDevice(HGLibDevice device); /* 获取设备序列号 */ HGEXPORT HGBool HGAPI HGLib_GetDeviceSN(HGLibDevice device, HGChar *sn, HGUInt maxLen); /* 获取设备固件版本号*/ HGEXPORT HGBool HGAPI HGLib_GetDeviceFWVersion(HGLibDevice device, HGChar* fwVersion, HGUInt maxLen); /* 设置设备参数 */ HGEXPORT HGBool HGAPI HGLib_SetDeviceParam(HGLibDevice device, HGUInt option, const HGVoid *data); /* 获取设备参数 */ HGEXPORT HGLibDeviceParamGroup* HGAPI HGLib_GetDeviceParamGroupList(HGLibDevice device, HGUInt *count); HGEXPORT HGLibDeviceParam* HGAPI HGLib_GetDeviceParam(HGLibDevice device, HGUInt option); /* 销毁设备参数 */ HGEXPORT HGBool HGAPI HGLib_ReleaseDeviceParamGroupList(HGLibDeviceParamGroup* paramGroup, HGUInt count); HGEXPORT HGBool HGAPI HGLib_ReleaseDeviceParam(HGLibDeviceParam* param); /* 重置设备参数 */ HGEXPORT HGBool HGAPI HGLib_ResetDeviceParam(HGLibDevice device); /* 设备是否有纸 */ HGEXPORT HGBool HGAPI HGLib_DeviceIsPaperOn(HGLibDevice device); /* 获取设备状态, -1表示异常,0表示无纸,1表示有纸 */ HGEXPORT HGInt HGAPI HGLib_GetDeviceStatus(HGLibDevice device); /* 重启设备 */ HGEXPORT HGBool HGAPI HGLib_DeviceRestart(HGLibDevice device); /* 关闭设备 */ HGEXPORT HGBool HGAPI HGLib_DeviceShutDown(HGLibDevice device); /* 开始扫描 */ HGEXPORT HGBool HGAPI HGLib_StartDeviceScan(HGLibDevice device, HGLibDeviceScanEventFunc eventFunc, HGPointer eventParam, HGLibDeviceScanImageFunc imageFunc, HGPointer imageParam); /* 停止扫描 */ HGEXPORT HGBool HGAPI HGLib_StopDeviceScan(HGLibDevice device); /* 停止扫描-异步 */ HGEXPORT HGBool HGAPI HGLib_StopDeviceScanAsyn(HGLibDevice device); /* 获取设备操作码(在调用设备操作函数以后) */ HGEXPORT HGInt HGAPI HGLib_GetDeviceOperateCode(HGLibDevice device); #endif /* __HGSCANNERLIB_H__ */