From 68051bb2df2dc79488d5517419e792279cc9820e Mon Sep 17 00:00:00 2001 From: luoliangyi <87842688@qq.com> Date: Mon, 16 Oct 2023 10:38:35 +0800 Subject: [PATCH] =?UTF-8?q?HGTwainUser=E5=9B=9E=E8=B0=83=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/scanner2/device_user.cpp | 3 ++- app/scanner2/device_user.h | 2 +- modules/twain_user/HGTwain.h | 2 +- modules/twain_user/HGTwainErr.h | 5 ++++- modules/twain_user/HGTwainImpl.cpp | 5 ++++- 5 files changed, 12 insertions(+), 5 deletions(-) diff --git a/app/scanner2/device_user.cpp b/app/scanner2/device_user.cpp index c85be549..d6453915 100644 --- a/app/scanner2/device_user.cpp +++ b/app/scanner2/device_user.cpp @@ -167,10 +167,11 @@ void HGAPI DeviceUser::DSEventFunc(HGTwainDS ds, HGUInt event, HGPointer param) } } -void HGAPI DeviceUser::DSImageFunc(HGTwainDS ds, HGImage image, HGUInt type, HGPointer param) +HGUInt HGAPI DeviceUser::DSImageFunc(HGTwainDS ds, HGImage image, HGUInt type, HGPointer param) { DeviceUser* p = (DeviceUser*)param; emit p->newImage(image); + return HGBASE_ERR_OK; } #else diff --git a/app/scanner2/device_user.h b/app/scanner2/device_user.h index 535fdffc..24f17972 100644 --- a/app/scanner2/device_user.h +++ b/app/scanner2/device_user.h @@ -55,7 +55,7 @@ public: private: static void HGAPI DSEventFunc(HGTwainDS ds, HGUInt event, HGPointer param); - static void HGAPI DSImageFunc(HGTwainDS ds, HGImage image, HGUInt type, HGPointer param); + static HGUInt HGAPI DSImageFunc(HGTwainDS ds, HGImage image, HGUInt type, HGPointer param); signals: void newImage(void *image); diff --git a/modules/twain_user/HGTwain.h b/modules/twain_user/HGTwain.h index 141648e7..b8a1c1ae 100644 --- a/modules/twain_user/HGTwain.h +++ b/modules/twain_user/HGTwain.h @@ -43,7 +43,7 @@ typedef struct /* ds回调 */ typedef void (HGAPI *HGDSEventFunc)(HGTwainDS ds, HGUInt event, HGPointer param); -typedef void (HGAPI* HGDSImageFunc)(HGTwainDS ds, HGImage image, HGUInt type, HGPointer param); +typedef HGUInt (HGAPI* HGDSImageFunc)(HGTwainDS ds, HGImage image, HGUInt type, HGPointer param); HGEXPORT HGResult HGAPI HGTwain_CreateDSM(HWND hwnd, HGTwainDSM *dsm); diff --git a/modules/twain_user/HGTwainErr.h b/modules/twain_user/HGTwainErr.h index 3e66278d..c82fcc40 100644 --- a/modules/twain_user/HGTwainErr.h +++ b/modules/twain_user/HGTwainErr.h @@ -8,6 +8,9 @@ #define HGTWAIN_ERR_CANCELUI 0x00001002L /* 设备离线 */ -#define HGTWAIN_ERR_DEVICEOFFLINE 0x00001003L +#define HGTWAIN_ERR_DEVICEOFFLINE 0x00001003L + +/* 停止扫描 */ +#define HGSANE_ERR_STOPSCAN 0x00001004L #endif /* __HGTWAINERR_H__ */ diff --git a/modules/twain_user/HGTwainImpl.cpp b/modules/twain_user/HGTwainImpl.cpp index 906ac539..6199495b 100644 --- a/modules/twain_user/HGTwainImpl.cpp +++ b/modules/twain_user/HGTwainImpl.cpp @@ -1037,7 +1037,10 @@ void HGAPI HGTwainDSImpl::ThreadFunc(HGThread thread, HGPointer param) if (NULL != image) { if (NULL != p->m_imageFunc) - p->m_imageFunc((HGTwainDS)p, image, HGTWAIN_IMAGE_TYPE_NORMAL, p->m_imageParam); + { + HGUInt imgRet = p->m_imageFunc((HGTwainDS)p, image, HGTWAIN_IMAGE_TYPE_NORMAL, p->m_imageParam); + assert(HGBASE_ERR_OK == imgRet); + } HGBase_DestroyImage(image); }