scannerlib,将扫描事件回调中的err改为错误码
This commit is contained in:
parent
3e19c3a737
commit
90a691e424
Binary file not shown.
Binary file not shown.
|
@ -1270,9 +1270,9 @@ int HGLibDeviceImpl::sane_ex_callback(SANE_Handle hdev, int code, void* data, un
|
||||||
if (NULL != deviceImpl->m_eventFunc)
|
if (NULL != deviceImpl->m_eventFunc)
|
||||||
{
|
{
|
||||||
deviceImpl->m_eventFunc((HGLibDevice)deviceImpl, HGLIB_DEVSCAN_EVENT_BEGIN,
|
deviceImpl->m_eventFunc((HGLibDevice)deviceImpl, HGLIB_DEVSCAN_EVENT_BEGIN,
|
||||||
HGFALSE, NULL, deviceImpl->m_eventParam);
|
0, NULL, deviceImpl->m_eventParam);
|
||||||
deviceImpl->m_eventFunc((HGLibDevice)deviceImpl, HGLIB_DEVSCAN_EVENT_INFO,
|
deviceImpl->m_eventFunc((HGLibDevice)deviceImpl, HGLIB_DEVSCAN_EVENT_INFO,
|
||||||
HGFALSE, (const char*)data, deviceImpl->m_eventParam);
|
0, (const char*)data, deviceImpl->m_eventParam);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -1284,13 +1284,13 @@ int HGLibDeviceImpl::sane_ex_callback(SANE_Handle hdev, int code, void* data, un
|
||||||
if (NULL != deviceImpl->m_eventFunc)
|
if (NULL != deviceImpl->m_eventFunc)
|
||||||
{
|
{
|
||||||
deviceImpl->m_eventFunc((HGLibDevice)deviceImpl, HGLIB_DEVSCAN_EVENT_INFO,
|
deviceImpl->m_eventFunc((HGLibDevice)deviceImpl, HGLIB_DEVSCAN_EVENT_INFO,
|
||||||
(0 != *len), (const char*)data, deviceImpl->m_eventParam);
|
(HGInt)(*len), (const char*)data, deviceImpl->m_eventParam);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (NULL != deviceImpl->m_eventFunc)
|
if (NULL != deviceImpl->m_eventFunc)
|
||||||
{
|
{
|
||||||
deviceImpl->m_eventFunc((HGLibDevice)deviceImpl, HGLIB_DEVSCAN_EVENT_END,
|
deviceImpl->m_eventFunc((HGLibDevice)deviceImpl, HGLIB_DEVSCAN_EVENT_END,
|
||||||
HGFALSE, NULL, deviceImpl->m_eventParam);
|
0, NULL, deviceImpl->m_eventParam);
|
||||||
}
|
}
|
||||||
|
|
||||||
HGBase_EnterLock(deviceImpl->m_lock);
|
HGBase_EnterLock(deviceImpl->m_lock);
|
||||||
|
|
|
@ -29,19 +29,78 @@ HG_DECLARE_HANDLE(HGLibDevice);
|
||||||
#define HGLIB_TIFFCOMPRESSION_LZW 3L
|
#define HGLIB_TIFFCOMPRESSION_LZW 3L
|
||||||
#define HGLIB_TIFFCOMPRESSION_JPEG 4L
|
#define HGLIB_TIFFCOMPRESSION_JPEG 4L
|
||||||
|
|
||||||
/* 设备操作码 */
|
/* 设备错误码 */
|
||||||
#define HGLIB_DEV_OPERATECODE_GOOD 0L
|
#define HGLIB_DEV_OPERATECODE_GOOD 0L /* everything A-OK */
|
||||||
#define HGLIB_DEV_OPERATECODE_UNSUPPORTED 1L
|
#define HGLIB_DEV_OPERATECODE_UNSUPPORTED 1L /* operation is not supported */
|
||||||
#define HGLIB_DEV_OPERATECODE_CANCELLED 2L
|
#define HGLIB_DEV_OPERATECODE_CANCELLED 2L /* operation was cancelled */
|
||||||
#define HGLIB_DEV_OPERATECODE_BUSY 3L
|
#define HGLIB_DEV_OPERATECODE_BUSY 3L /* device is busy; try again later */
|
||||||
#define HGLIB_DEV_OPERATECODE_INVAL 4L
|
#define HGLIB_DEV_OPERATECODE_INVAL 4L /* data is invalid (includes no dev at open) */
|
||||||
#define HGLIB_DEV_OPERATECODE_EOF 5L
|
#define HGLIB_DEV_OPERATECODE_EOF 5L /* no more data available (end-of-file) */
|
||||||
#define HGLIB_DEV_OPERATECODE_JAMMED 6L
|
#define HGLIB_DEV_OPERATECODE_JAMMED 6L /* document feeder jammed */
|
||||||
#define HGLIB_DEV_OPERATECODE_NO_DOCS 7L
|
#define HGLIB_DEV_OPERATECODE_NO_DOCS 7L /* document feeder out of documents */
|
||||||
#define HGLIB_DEV_OPERATECODE_COVER_OPEN 8L
|
#define HGLIB_DEV_OPERATECODE_COVER_OPEN 8L /* scanner cover is open */
|
||||||
#define HGLIB_DEV_OPERATECODE_IO_ERROR 9L
|
#define HGLIB_DEV_OPERATECODE_IO_ERROR 9L /* error during device I/O */
|
||||||
#define HGLIB_DEV_OPERATECODE_NO_MEM 10L
|
#define HGLIB_DEV_OPERATECODE_NO_MEM 10L /* out of memory */
|
||||||
#define HGLIB_DEV_OPERATECODE_ACCESS_DENIED 11L
|
#define HGLIB_DEV_OPERATECODE_ACCESS_DENIED 11L /* access to resource has been denied */
|
||||||
|
// 1:软件逻辑错误
|
||||||
|
#define HGLIB_DEV_OPERATECODE_INVALID_PARAMETER 0x100 // 非法的参数调用
|
||||||
|
#define HGLIB_DEV_OPERATECODE_ERR_USER_CANCELED 0x101 // 用户取消了操作
|
||||||
|
#define HGLIB_DEV_OPERATECODE_INSUFFICIENT_MEMORY 0x102 // 分配的内存不足
|
||||||
|
#define HGLIB_DEV_OPERATECODE_ACCESS_DENIED 0x103 // 访问被拒绝
|
||||||
|
#define HGLIB_DEV_OPERATECODE_IO_PENDING 0x104 // 异步访问,数据稍后返回
|
||||||
|
#define HGLIB_DEV_OPERATECODE_ERR_NOT_EXACT 0x105 // 数据不精确,精确的数据已经在同一缓存中返回
|
||||||
|
#define HGLIB_DEV_OPERATECODE_ERR_CONFIGURATION_CHANGED 0x106 // 设备的配置项发生改变,需要重新加载显示
|
||||||
|
#define HGLIB_DEV_OPERATECODE_ERR_NOT_OPEN 0x107 // 设备未打开
|
||||||
|
#define HGLIB_DEV_OPERATECODE_ERR_NOT_START 0x108 // 设备没有启动
|
||||||
|
#define HGLIB_DEV_OPERATECODE_ERR_NOT_ANY_MORE 0x109 // 用于回调返回,在本次扫描中,对相同操作不再回调
|
||||||
|
#define HGLIB_DEV_OPERATECODE_ERR_NO_DATA 0x10A // 没有数据
|
||||||
|
#define HGLIB_DEV_OPERATECODE_HAS_DATA_YET 0x10B // 有数据未被读取(异步操作中)
|
||||||
|
#define HGLIB_DEV_OPERATECODE_OUT_OF_RANGE 0x10C // 相关操作超出范围
|
||||||
|
#define HGLIB_DEV_OPERATECODE_IO 0x10D // IO错误
|
||||||
|
#define HGLIB_DEV_OPERATECODE_TIMEOUT 0x10E // 超时错误
|
||||||
|
#define HGLIB_DEV_OPERATECODE_OPEN_FILE_FAILED 0x10F // 打开本地文件失败
|
||||||
|
#define HGLIB_DEV_OPERATECODE_CREATE_FILE_FAILED 0x110 // 创建本地文件失败
|
||||||
|
#define HGLIB_DEV_OPERATECODE_WRITE_FILE_FAILED 0x111 // 写本地文件失败
|
||||||
|
#define HGLIB_DEV_OPERATECODE_DATA_DAMAGED 0x112 // 数据损坏(内置资源数据损坏)
|
||||||
|
#define HGLIB_DEV_OPERATECODE_OPENED_BY_OTHER_PROCESS 0x113 // 设备已经被其它进程打开占用
|
||||||
|
#define HGLIB_DEV_OPERATECODE_LANG_PAK_LOST 0x114 // 语言包丢失
|
||||||
|
#define HGLIB_DEV_OPERATECODE_RELOAD_IMAGE_PARAM 0x115 // 配置成功,会影响图像参数,应用需要重新加载图像参数 - added on 2023-02-18 for XSANE修改影响图像参数的属性后扫描崩溃的问题
|
||||||
|
#define HGLIB_DEV_OPERATECODE_RELOAD_OPT_PARAM 0x116 // SCANNER_ERR_CONFIGURATION_CHANGED + SCANNER_ERR_RELOAD_IMAGE_PARAM - added on 2023-02-18 for XSANE修改影响图像参数的属性后扫描崩溃的问题
|
||||||
|
#define HGLIB_DEV_OPERATECODE_IMAGE_PROC_FATAL 0x117 // 图像处理失败
|
||||||
|
// 2:USB错误
|
||||||
|
#define HGLIB_DEV_OPERATECODE_USB_INIT_FAILED 0x5B00 // libusb_init 失败
|
||||||
|
#define HGLIB_DEV_OPERATECODE_USB_REGISTER_PNP_FAILED 0x5B01 // 注册USB监听事件失败
|
||||||
|
#define HGLIB_DEV_OPERATECODE_USB_CLAIM_INTERFACE_FAILED 0x5B02 // failed in calling libusb_claim_interface
|
||||||
|
// 3:硬件错误
|
||||||
|
#define HGLIB_DEV_OPERATECODE_DEVICE_NOT_FOUND 0x0DE00 // 设备未找到
|
||||||
|
#define HGLIB_DEV_OPERATECODE_DEVICE_NOT_SUPPORT 0x0DE01 // 设备不支持该操作
|
||||||
|
#define HGLIB_DEV_OPERATECODE_DEVICE_BUSY 0x0DE02 // 设备正忙,不能响应该操作
|
||||||
|
#define HGLIB_DEV_OPERATECODE_DEVICE_SLEEPING 0x0DE03 // 设备处于睡眠状态
|
||||||
|
#define HGLIB_DEV_OPERATECODE_DEVICE_COUNT_MODE 0x0DE04 // 设备处于计数扫描状态?
|
||||||
|
#define HGLIB_DEV_OPERATECODE_DEVICE_STOPPED 0x0DE05 // 扫描停止
|
||||||
|
#define HGLIB_DEV_OPERATECODE_DEVICE_COVER_OPENNED 0x0DE06 // 扫描仪盖板呈打开状态
|
||||||
|
#define HGLIB_DEV_OPERATECODE_DEVICE_NO_PAPER 0x0DE07 // 没有纸张输入
|
||||||
|
#define HGLIB_DEV_OPERATECODE_DEVICE_FEEDING_PAPER 0x0DE08 // 搓纸失败
|
||||||
|
#define HGLIB_DEV_OPERATECODE_DEVICE_DOUBLE_FEEDING 0x0DE09 // 双张检测
|
||||||
|
#define HGLIB_DEV_OPERATECODE_DEVICE_PAPER_JAMMED 0x0DE0A // 卡纸
|
||||||
|
#define HGLIB_DEV_OPERATECODE_DEVICE_STAPLE_ON 0x0DE0B // 有钉书钉
|
||||||
|
#define HGLIB_DEV_OPERATECODE_DEVICE_PAPER_SKEW 0x0DE0C // 纸张倾斜
|
||||||
|
#define HGLIB_DEV_OPERATECODE_DEVICE_SIZE_CHECK 0x0DE0D // 尺寸检测错误
|
||||||
|
#define HGLIB_DEV_OPERATECODE_DEVICE_DOGEAR 0x0DE0E // 纸张有折角
|
||||||
|
#define HGLIB_DEV_OPERATECODE_DEVICE_NO_IMAGE 0x0DE0F // 设备没取到图
|
||||||
|
#define HGLIB_DEV_OPERATECODE_DEVICE_SCANN_ERROR 0x0DE10 // 设备扫图失败
|
||||||
|
#define HGLIB_DEV_OPERATECODE_DEVICE_PC_BUSY 0x0DE11 // PC繁忙或出错
|
||||||
|
#define HGLIB_DEV_OPERATECODE_DEVICE_ISLOCK 0x0DE12 // 设备被锁定
|
||||||
|
#define HGLIB_DEV_OPERATECODE_DEVICE_UPGRADE_SUCCESSFUL 0x0DE13 // 固件升级成功
|
||||||
|
#define HGLIB_DEV_OPERATECODE_DEVICE_UPGRADE_FAIL 0x0DE14 // 固件升级失败+
|
||||||
|
#define HGLIB_DEV_OPERATECODE_DEVICE_AUTO_FAIL_OVER 0x0DE15 // 设备平场自动校正结束
|
||||||
|
#define HGLIB_DEV_OPERATECODE_DEVICE_AUTO_FAIL_INFO 0x0DE16 // 设备平场自动校正信息传输
|
||||||
|
#define HGLIB_DEV_OPERATECODE_DEVICE_DISTORTION 0x0DE17 // 畸变修正失败
|
||||||
|
#define HGLIB_DEV_OPERATECODE_DEVICE_MAYBE_IS_HOLE 0x0DE18 // 纸张有孔洞
|
||||||
|
#define HGLIB_DEV_OPERATECODE_DEVICE_DEVS_BOOTING 0x0DE19 // 请稍等 - 设备正在准备
|
||||||
|
#define HGLIB_DEV_OPERATECODE_DEVICE_UNKNOWN_STATUS 0x0DE1A // 设备处于未知状态
|
||||||
|
#define HGLIB_DEV_OPERATECODE_DEVICE_LENS_DIRTY 0x0DE1B // 镜头脏污
|
||||||
|
|
||||||
|
|
||||||
/* 设备热拔插事件 */
|
/* 设备热拔插事件 */
|
||||||
#define HGLIB_DEVHOTPLUG_EVENT_ARRIVE 1L
|
#define HGLIB_DEVHOTPLUG_EVENT_ARRIVE 1L
|
||||||
|
@ -508,11 +567,11 @@ typedef void (HGAPI *HGLibDeviceHotPlugEventFunc)(HGUInt event, const HGChar *de
|
||||||
/* 设备扫描事件回调
|
/* 设备扫描事件回调
|
||||||
* device: 设备句柄
|
* device: 设备句柄
|
||||||
* event: HGLIB_DEVSCAN_EVENT_*
|
* event: HGLIB_DEVSCAN_EVENT_*
|
||||||
* err: 是否是错误信息, HGLIB_DEVSCAN_EVENT_INFO下有效
|
* operateCode: 设备错误码, HGLIB_DEVSCAN_EVENT_INFO下有效
|
||||||
* info: 扫描信息, HGLIB_DEVSCAN_EVENT_INFO下有效
|
* info: 扫描信息, HGLIB_DEVSCAN_EVENT_INFO下有效
|
||||||
* param: 回调参数
|
* param: 回调参数
|
||||||
*/
|
*/
|
||||||
typedef void (HGAPI *HGLibDeviceScanEventFunc)(HGLibDevice device, HGUInt event, HGBool err, const HGChar *info, HGPointer param);
|
typedef void (HGAPI *HGLibDeviceScanEventFunc)(HGLibDevice device, HGUInt event, HGInt operateCode, const HGChar *info, HGPointer param);
|
||||||
|
|
||||||
/* 设备扫描图像回调
|
/* 设备扫描图像回调
|
||||||
* device: 设备句柄
|
* device: 设备句柄
|
||||||
|
@ -623,7 +682,7 @@ HGEXPORT HGBool HGAPI HGLib_StopDeviceScan(HGLibDevice device);
|
||||||
/* 停止扫描-异步 */
|
/* 停止扫描-异步 */
|
||||||
HGEXPORT HGBool HGAPI HGLib_StopDeviceScanAsyn(HGLibDevice device);
|
HGEXPORT HGBool HGAPI HGLib_StopDeviceScanAsyn(HGLibDevice device);
|
||||||
|
|
||||||
/* 获取设备操作码(在调用设备操作函数以后) */
|
/* 获取设备错误码(在调用设备操作函数以后) */
|
||||||
HGEXPORT HGInt HGAPI HGLib_GetDeviceOperateCode(HGLibDevice device);
|
HGEXPORT HGInt HGAPI HGLib_GetDeviceOperateCode(HGLibDevice device);
|
||||||
|
|
||||||
#endif /* __HGSCANNERLIB_H__ */
|
#endif /* __HGSCANNERLIB_H__ */
|
||||||
|
|
Loading…
Reference in New Issue