This commit is contained in:
luoliangyi 2023-03-27 14:24:18 +08:00
parent ee65c9fd17
commit 7813ceed1f
6 changed files with 25 additions and 25 deletions

View File

@ -196,7 +196,7 @@ void CHGTestDlg::OnBnClickedButton1()
HGSane_OpenDevice(m_saneMgr, 0, &m_saneDev, errInfo, 256); HGSane_OpenDevice(m_saneMgr, 0, &m_saneDev, errInfo, 256);
if (NULL != m_saneDev) if (NULL != m_saneDev)
{ {
HGResult ret = HGSane_StartDevice(m_saneDev, DeviceEventCallback, this, DeviceImageCallback, this, errInfo, 256); HGResult ret = HGSane_StartDevice(m_saneDev, DeviceEventFunc, this, DeviceImageFunc, this, errInfo, 256);
if (HGBASE_ERR_OK != ret) if (HGBASE_ERR_OK != ret)
{ {
HGSane_CloseDevice(m_saneDev); HGSane_CloseDevice(m_saneDev);
@ -212,7 +212,7 @@ void CHGTestDlg::OnBnClickedButton1()
HGTwain_OpenSelectedDS(m_dsm, &m_ds); HGTwain_OpenSelectedDS(m_dsm, &m_ds);
if (NULL != m_ds) if (NULL != m_ds)
{ {
HGResult ret = HGTwain_EnableDSUIOnly(m_ds, m_hWnd, DSEventCallback, this); HGResult ret = HGTwain_EnableDSUIOnly(m_ds, m_hWnd, DSCloseReqFunc, this);
if (HGBASE_ERR_OK != ret) if (HGBASE_ERR_OK != ret)
{ {
HGTwain_CloseDS(m_ds); HGTwain_CloseDS(m_ds);
@ -235,12 +235,12 @@ void CHGTestDlg::OnBnClickedButton2()
} }
#ifdef USE_SANE #ifdef USE_SANE
void HGAPI CHGTestDlg::DeviceEventCallback(HGSaneDevice dev, HGUInt error, const HGChar* errInfo, HGPointer param) void HGAPI CHGTestDlg::DeviceEventFunc(HGSaneDevice dev, HGUInt error, const HGChar* errInfo, HGPointer param)
{ {
CHGTestDlg* p = (CHGTestDlg*)param; CHGTestDlg* p = (CHGTestDlg*)param;
::PostMessage(p->m_hWnd, 2000, 0, 0); ::PostMessage(p->m_hWnd, 2000, 0, 0);
} }
void HGAPI CHGTestDlg::DeviceImageCallback(HGSaneDevice dev, HGImage image, HGPointer param) void HGAPI CHGTestDlg::DeviceImageFunc(HGSaneDevice dev, HGImage image, HGPointer param)
{ {
CHGTestDlg* p = (CHGTestDlg*)param; CHGTestDlg* p = (CHGTestDlg*)param;
HGImage image2 = NULL; HGImage image2 = NULL;
@ -248,24 +248,24 @@ void HGAPI CHGTestDlg::DeviceImageCallback(HGSaneDevice dev, HGImage image, HGPo
::PostMessage(p->m_hWnd, 2001, (WPARAM)image2, 0); ::PostMessage(p->m_hWnd, 2001, (WPARAM)image2, 0);
} }
#else #else
void CHGTestDlg::DSEventCallback(HGTwainDS ds, HGUInt error, const HGChar* errInfo, HGPointer param) void CHGTestDlg::DSCloseReqFunc(HGTwainDS ds, HGPointer param)
{ {
CHGTestDlg* p = (CHGTestDlg*)param; CHGTestDlg* p = (CHGTestDlg*)param;
HGTwain_DisableDS(p->m_ds); HGTwain_DisableDS(p->m_ds);
HGResult ret = HGTwain_EnableDS(p->m_ds, HGFALSE, NULL, DSEvent2Callback, p, DSImageCallback, p); HGResult ret = HGTwain_EnableDS(p->m_ds, HGFALSE, NULL, DSCloseReqFunc2, p, DSImageFunc, p);
if (HGBASE_ERR_OK != ret) if (HGBASE_ERR_OK != ret)
{ {
HGTwain_CloseDS(p->m_ds); HGTwain_CloseDS(p->m_ds);
p->m_ds = NULL; p->m_ds = NULL;
} }
} }
void CHGTestDlg::DSEvent2Callback(HGTwainDS ds, HGUInt error, const HGChar* errInfo, HGPointer param) void CHGTestDlg::DSCloseReqFunc2(HGTwainDS ds, HGPointer param)
{ {
CHGTestDlg* p = (CHGTestDlg*)param; CHGTestDlg* p = (CHGTestDlg*)param;
HGTwain_CloseDS(p->m_ds); HGTwain_CloseDS(p->m_ds);
p->m_ds = NULL; p->m_ds = NULL;
} }
void HGAPI CHGTestDlg::DSImageCallback(HGTwainDS ds, HGImage image, HGPointer param) void HGAPI CHGTestDlg::DSImageFunc(HGTwainDS ds, HGImage image, HGPointer param)
{ {
CHGTestDlg* p = (CHGTestDlg*)param; CHGTestDlg* p = (CHGTestDlg*)param;
CStringA strName; CStringA strName;

View File

@ -25,14 +25,14 @@ protected:
#ifdef USE_SANE #ifdef USE_SANE
HGSaneManager m_saneMgr; HGSaneManager m_saneMgr;
HGSaneDevice m_saneDev; HGSaneDevice m_saneDev;
static void HGAPI DeviceEventCallback(HGSaneDevice dev, HGUInt error, const HGChar* errInfo, HGPointer param); static void HGAPI DeviceEventFunc(HGSaneDevice dev, HGUInt error, const HGChar* errInfo, HGPointer param);
static void HGAPI DeviceImageCallback(HGSaneDevice dev, HGImage image, HGPointer param); static void HGAPI DeviceImageFunc(HGSaneDevice dev, HGImage image, HGPointer param);
#else #else
HGTwainDSM m_dsm; HGTwainDSM m_dsm;
HGTwainDS m_ds; HGTwainDS m_ds;
static void HGAPI DSEventCallback(HGTwainDS ds, HGUInt error, const HGChar* errInfo, HGPointer param); static void HGAPI DSCloseReqFunc(HGTwainDS ds, HGPointer param);
static void HGAPI DSEvent2Callback(HGTwainDS ds, HGUInt error, const HGChar* errInfo, HGPointer param); static void HGAPI DSCloseReqFunc2(HGTwainDS ds, HGPointer param);
static void HGAPI DSImageCallback(HGTwainDS ds, HGImage image, HGPointer param); static void HGAPI DSImageFunc(HGTwainDS ds, HGImage image, HGPointer param);
#endif #endif
// 实现 // 实现

View File

@ -128,7 +128,7 @@ HGResult HGAPI HGTwain_CloseDS(HGTwainDS ds)
return twainDSImpl->Close(); return twainDSImpl->Close();
} }
HGResult HGAPI HGTwain_EnableDSUIOnly(HGTwainDS ds, HWND parent, HGDSEventFunc eventFunc, HGPointer eventParam) HGResult HGAPI HGTwain_EnableDSUIOnly(HGTwainDS ds, HWND parent, HGDSCloseReqFunc eventFunc, HGPointer eventParam)
{ {
if (NULL == ds) if (NULL == ds)
{ {
@ -139,7 +139,7 @@ HGResult HGAPI HGTwain_EnableDSUIOnly(HGTwainDS ds, HWND parent, HGDSEventFunc e
return twainDSImpl->EnableUIOnly(parent, eventFunc, eventParam); return twainDSImpl->EnableUIOnly(parent, eventFunc, eventParam);
} }
HGResult HGAPI HGTwain_EnableDS(HGTwainDS ds, HGBool showUI, HWND parent, HGDSEventFunc eventFunc, HGPointer eventParam, HGResult HGAPI HGTwain_EnableDS(HGTwainDS ds, HGBool showUI, HWND parent, HGDSCloseReqFunc eventFunc, HGPointer eventParam,
HGDSImageFunc imageFunc, HGPointer imageParam) HGDSImageFunc imageFunc, HGPointer imageParam)
{ {
if (NULL == ds) if (NULL == ds)

View File

@ -11,7 +11,7 @@ HG_DECLARE_HANDLE(HGTwainDS);
/* ds回调 /* ds回调
*/ */
typedef void (HGAPI *HGDSEventFunc)(HGTwainDS ds, HGUInt error, const HGChar* errInfo, HGPointer param); typedef void (HGAPI *HGDSCloseReqFunc)(HGTwainDS ds, HGPointer param);
typedef void (HGAPI* HGDSImageFunc)(HGTwainDS ds, HGImage image, HGPointer param); typedef void (HGAPI* HGDSImageFunc)(HGTwainDS ds, HGImage image, HGPointer param);
HGEXPORT HGResult HGAPI HGTwain_CreateDSM(HWND hwnd, HGTwainDSM *dsm); HGEXPORT HGResult HGAPI HGTwain_CreateDSM(HWND hwnd, HGTwainDSM *dsm);
@ -30,9 +30,9 @@ HGEXPORT HGResult HGAPI HGTwain_OpenSelectedDS(HGTwainDSM dsm, HGTwainDS* ds);
HGEXPORT HGResult HGAPI HGTwain_CloseDS(HGTwainDS ds); HGEXPORT HGResult HGAPI HGTwain_CloseDS(HGTwainDS ds);
HGEXPORT HGResult HGAPI HGTwain_EnableDSUIOnly(HGTwainDS ds, HWND parent, HGDSEventFunc eventFunc, HGPointer eventParam); HGEXPORT HGResult HGAPI HGTwain_EnableDSUIOnly(HGTwainDS ds, HWND parent, HGDSCloseReqFunc eventFunc, HGPointer eventParam);
HGEXPORT HGResult HGAPI HGTwain_EnableDS(HGTwainDS ds, HGBool showUI, HWND parent, HGDSEventFunc eventFunc, HGPointer eventParam, HGEXPORT HGResult HGAPI HGTwain_EnableDS(HGTwainDS ds, HGBool showUI, HWND parent, HGDSCloseReqFunc eventFunc, HGPointer eventParam,
HGDSImageFunc imageFunc, HGPointer imageParam); HGDSImageFunc imageFunc, HGPointer imageParam);
HGEXPORT HGResult HGAPI HGTwain_DisableDS(HGTwainDS ds); HGEXPORT HGResult HGAPI HGTwain_DisableDS(HGTwainDS ds);

View File

@ -294,10 +294,10 @@ LRESULT CALLBACK HGTwainDSMImpl::NewWndProc(HWND hWnd, UINT msg, WPARAM wParam,
p->m_listDSImpl[i]->Reset(); p->m_listDSImpl[i]->Reset();
} }
else if (MSG_CLOSEDSREQ == twEvent.TWMessage/* || MSG_CLOSEDSOK == twEvent.TWMessage*/) else if (MSG_CLOSEDSREQ == twEvent.TWMessage)
{ {
if (NULL != p->m_listDSImpl[i]->m_eventFunc) if (NULL != p->m_listDSImpl[i]->m_eventFunc)
p->m_listDSImpl[i]->m_eventFunc((HGTwainDS)p->m_listDSImpl[i], HGBASE_ERR_OK, NULL, p->m_listDSImpl[i]->m_eventParam); p->m_listDSImpl[i]->m_eventFunc((HGTwainDS)p->m_listDSImpl[i], p->m_listDSImpl[i]->m_eventParam);
} }
} }
} }
@ -352,7 +352,7 @@ HGResult HGTwainDSImpl::Close()
return HGBASE_ERR_OK; return HGBASE_ERR_OK;
} }
HGResult HGTwainDSImpl::EnableUIOnly(HWND parent, HGDSEventFunc eventFunc, HGPointer eventParam) HGResult HGTwainDSImpl::EnableUIOnly(HWND parent, HGDSCloseReqFunc eventFunc, HGPointer eventParam)
{ {
if (m_enable) if (m_enable)
{ {
@ -378,7 +378,7 @@ HGResult HGTwainDSImpl::EnableUIOnly(HWND parent, HGDSEventFunc eventFunc, HGPoi
return HGBASE_ERR_OK; return HGBASE_ERR_OK;
} }
HGResult HGTwainDSImpl::Enable(HGBool showUI, HWND parent, HGDSEventFunc eventFunc, HGPointer eventParam, HGResult HGTwainDSImpl::Enable(HGBool showUI, HWND parent, HGDSCloseReqFunc eventFunc, HGPointer eventParam,
HGDSImageFunc imageFunc, HGPointer imageParam) HGDSImageFunc imageFunc, HGPointer imageParam)
{ {
if (m_enable) if (m_enable)

View File

@ -46,8 +46,8 @@ public:
public: public:
HGResult Open(const TW_IDENTITY* iden); HGResult Open(const TW_IDENTITY* iden);
HGResult Close(); HGResult Close();
HGResult EnableUIOnly(HWND parent, HGDSEventFunc eventFunc, HGPointer eventParam); HGResult EnableUIOnly(HWND parent, HGDSCloseReqFunc eventFunc, HGPointer eventParam);
HGResult Enable(HGBool showUI, HWND parent, HGDSEventFunc eventFunc, HGPointer eventParam, HGResult Enable(HGBool showUI, HWND parent, HGDSCloseReqFunc eventFunc, HGPointer eventParam,
HGDSImageFunc imageFunc, HGPointer imageParam); HGDSImageFunc imageFunc, HGPointer imageParam);
HGResult Disable(); HGResult Disable();
@ -64,7 +64,7 @@ private:
HGBool m_open; HGBool m_open;
HGBool m_showUI; HGBool m_showUI;
HWND m_parent; HWND m_parent;
HGDSEventFunc m_eventFunc; HGDSCloseReqFunc m_eventFunc;
HGPointer m_eventParam; HGPointer m_eventParam;
HGDSImageFunc m_imageFunc; HGDSImageFunc m_imageFunc;
HGPointer m_imageParam; HGPointer m_imageParam;