Home › Forums › TWAIN Classic › MSG_XFERREADY never fired › Reply To: MSG_XFERREADY never fired
Hi Jim.
First of all, tank you very much for your support.
Next, i’ve solved that problem.
Prior, in this post, i told i use subclassing tecnique in order to redirect the main application message loop to a custm window procedure.
In fact in the header file, as a global function, outside of the SourceManager class i declared:
LRESULT CALLBACK ApplicationClientWindowProcedureSubclassed(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam);
WNDPROC ApplicationClientOriginalWindowProcedure;
where the names, are clear.
In the CTOR of SourceManager i have:
class SourceManager
{
//Initialize other member vars
loadTwain();
ApplicationClientOriginalWindowProcedure = (WNDPROC)GetWindowLong(m_hWnd,GWL_WNDPROC);
SetWindowLong(m_hWnd,GWL_WNDPROC,(LONG)ApplicationClientWindowProcedureSubclassed);
}
Now there was another problem: under my self defined ApplicationClientWindowProcedureSubclassed i must obtain a pointer to SourceManager class in order
to call other members functions (like doXFer, endXFer and so on).
This problem i solved getting a pointer to that class by inquiring another class: SourceManagerFactory that give me the only one singleton instance of SourceManager class.
LRESULT CALLBACK ApplicationClientWindowProcedureSubclassed(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
SourceManagerFactory* pFactory = getSourceManagerFactory();
ISourceManager* pThis = (ISourceManager *)pFactory->createSourceManagerInstance(hwnd);
if(pThis->isCurrentSourceEnabled())
{
TW_EVENT twEvent;
twEvent.pEvent= (TW_MEMREF)&uMsg;
pThis->twainProcedure(&(pThis->getAppId()),pThisgetCurretSource()->getTwainIdentity(),DG_CONTROL,DAT_EVENT,MSG_PROCESSEVENT,(TW_MEMREF)&twEvent);
//code to manage entire transfer omitted
}
return CallWindowProc(ApplicationClientOriginalWindowProcedure,hwnd,uMsg,wParam,lParam);
}
In this way never get MSG_XFERREADY, so i made little changes:
LRESULT CALLBACK ApplicationClientWindowProcedureSubclassed(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
SourceManagerFactory* pFactory = getSourceManagerFactory();
ISourceManager* pThis = (ISourceManager *)pFactory->createSourceManagerInstance(hwnd);
if(pThis->isCurrentSourceEnabled())
{
pThis->twainMessageLoop(uMsg);
}
return CallWindowProc(ApplicationClientOriginalWindowProcedure,hwnd,uMsg,wParam,lParam);
}
void SourceManager::twainMessageLoop(UINT uMsg)
{
TW_EVENT twEvent;
twEvent.pEvent= (TW_MEMREF)&uMsg;
twainProcedure(&m_appId,m_currentSource->getTwainIdentity(),DG_CONTROL,DAT_EVENT,MSG_PROCESSEVENT,(TW_MEMREF)&twEvent);
switch(twEvent.TWMessage)
{
case MSG_XFERREADY:
getImageInfo();
getImageLayout();
executeNativeTransfer();
if(this->m_lastOperationResult->getResultCode()==TWRC_XFERDONE)
{
stopTransfer();
disableCurrentSource();
closeCurrentSource();
}
break;
case MSG_CLOSEDSREQ:
disableCurrentSource();
closeCurrentSource();
break;
case MSG_ENDXFER:
disableCurrentSource();
break;
}
}
in this way i’m able to process MSG_XFERREADY and all appear to work properly.
But by examining the log, at the end of the transfer, i got a TWRC_FAILURE, corresponding to the stopTransfer() call.(DG_IMAGE,DAT_PENDINGXFERS,MSG_ENDXFER).
Here the log:
[185246265 dsm.cpp 398 183 000003DC] TWAIN Working Group
[185246265 dsm.cpp 399 183 000003DC] TWAIN 32 Source Manager (Image Acquisition Interface)
[185246265 dsm.cpp 400 183 000003DC] version: 2.0
[185246265 dsm.cpp 2028 183 000003DC]
[185246265 dsm.cpp 2029 183 000003DC] DG_CONTROL/DAT_PARENT/MSG_OPENDSM
[185246265 apps.cpp 215 183 000003DC] Application: "MICSS"
[185246265 apps.cpp 216 183 000003DC] "Generic"
[185246265 apps.cpp 217 183 000003DC] "Twain++" version: 1.0
[185246265 apps.cpp 218 183 000003DC] TWAIN 2.0
[185246281 apps.cpp 1200 127 000003DC] Could not find DS_Entry function in DS: C:WINDOWStwain_32wiatwain.ds
[185246281 apps.cpp 528 127 000003DC] Condition Code: DS or DSM reported error, application shouldn't
[185246281 apps.cpp 1213 0 000003DC] Loaded library: C:WINDOWStwain_32BrMfSc08aMF790CWUBrTwdFe.ds
[185246625 apps.cpp 1213 0 000003DC] Loaded library: C:WINDOWStwain_32hpsj_0001hpsj_0001.ds
[185246640 apps.cpp 528 0 000003DC] Condition Code: DS or DSM reported error, application shouldn't
[185246640 apps.cpp 1213 6 000003DC] Loaded library: C:WINDOWStwain_32SampleTWSRC_32.ds
[185246640 apps.cpp 1213 0 000003DC] Loaded library: C:WINDOWStwain_32sample2TWAINDS_Sample32.ds
[185246640 dsm.cpp 596 18 000003DC] TWRC_SUCCESS
[185248796 dsm.cpp 2028 0 000003DC]
[185248796 dsm.cpp 2029 0 000003DC] DG_CONTROL/DAT_IDENTITY/MSG_GETFIRST
[185248796 dsm.cpp 596 0 000003DC] TWRC_SUCCESS
[185248796 dsm.cpp 2028 0 000003DC]
[185248796 dsm.cpp 2029 0 000003DC] DG_CONTROL/DAT_IDENTITY/MSG_GETNEXT
[185248796 dsm.cpp 596 0 000003DC] TWRC_SUCCESS
[185248796 dsm.cpp 2028 0 000003DC]
[185248796 dsm.cpp 2029 0 000003DC] DG_CONTROL/DAT_IDENTITY/MSG_GETNEXT
[185248796 dsm.cpp 596 0 000003DC] TWRC_SUCCESS
[185248796 dsm.cpp 2028 0 000003DC]
[185248796 dsm.cpp 2029 0 000003DC] DG_CONTROL/DAT_IDENTITY/MSG_GETNEXT
[185248796 dsm.cpp 596 0 000003DC] TWRC_ENDOFLIST
[185248796 dsm.cpp 2028 0 000003DC]
[185248796 dsm.cpp 2029 0 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185248796 dsm.cpp 596 0 000003DC] TWRC_SUCCESS
[185248796 dsm.cpp 2028 0 000003DC]
[185248796 dsm.cpp 2029 0 000003DC] DG_CONTROL/DAT_IDENTITY/MSG_GETFIRST
[185248796 dsm.cpp 596 0 000003DC] TWRC_SUCCESS
[185248796 dsm.cpp 2028 0 000003DC]
[185248796 dsm.cpp 2029 0 000003DC] DG_CONTROL/DAT_IDENTITY/MSG_GETNEXT
[185248796 dsm.cpp 596 0 000003DC] TWRC_SUCCESS
[185248796 dsm.cpp 2028 0 000003DC]
[185248796 dsm.cpp 2029 0 000003DC] DG_CONTROL/DAT_IDENTITY/MSG_GETNEXT
[185248796 dsm.cpp 596 0 000003DC] TWRC_SUCCESS
[185248796 dsm.cpp 2028 0 000003DC]
[185248796 dsm.cpp 2029 0 000003DC] DG_CONTROL/DAT_IDENTITY/MSG_GETNEXT
[185248796 dsm.cpp 596 0 000003DC] TWRC_ENDOFLIST
[185248796 dsm.cpp 2028 0 000003DC]
[185248796 dsm.cpp 2029 0 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185248796 dsm.cpp 596 0 000003DC] TWRC_SUCCESS
[185248796 dsm.cpp 2028 0 000003DC]
[185248796 dsm.cpp 2029 0 000003DC] DG_CONTROL/DAT_IDENTITY/MSG_GETDEFAULT
[185248796 dsm.cpp 596 0 000003DC] TWRC_SUCCESS
[185248796 dsm.cpp 2028 0 000003DC]
[185248796 dsm.cpp 2029 0 000003DC] DG_CONTROL/DAT_IDENTITY/MSG_GETFIRST
[185248796 dsm.cpp 596 0 000003DC] TWRC_SUCCESS
[185248796 dsm.cpp 2028 0 000003DC]
[185248796 dsm.cpp 2029 0 000003DC] DG_CONTROL/DAT_IDENTITY/MSG_GETNEXT
[185248796 dsm.cpp 596 0 000003DC] TWRC_SUCCESS
[185248796 dsm.cpp 2028 0 000003DC]
[185248796 dsm.cpp 2029 0 000003DC] DG_CONTROL/DAT_IDENTITY/MSG_GETNEXT
[185248796 dsm.cpp 596 0 000003DC] TWRC_SUCCESS
[185248796 dsm.cpp 2028 0 000003DC]
[185248796 dsm.cpp 2029 0 000003DC] DG_CONTROL/DAT_IDENTITY/MSG_GETNEXT
[185248796 dsm.cpp 596 0 000003DC] TWRC_ENDOFLIST
[185248796 dsm.cpp 2028 0 000003DC]
[185248796 dsm.cpp 2029 0 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185248796 dsm.cpp 596 0 000003DC] TWRC_SUCCESS
[185250171 dsm.cpp 2028 0 000003DC]
[185250171 dsm.cpp 2029 0 000003DC] DG_CONTROL/DAT_IDENTITY/MSG_OPENDS
[185250171 apps.cpp 1145 0 000003DC] Datasource: "Brother Industries, Ltd."
[185250171 apps.cpp 1146 0 000003DC] "Brother MFL-Pro Scanner"
[185250171 apps.cpp 1147 0 000003DC] "TW-Brother MFC-790CW" version: 3.7
[185250171 apps.cpp 1148 0 000003DC] TWAIN 1.6
[185250171 apps.cpp 1213 0 000003DC] Loaded library: C:WINDOWStwain_32BrMfSc08aMF790CWUBrTwdFe.ds
[185250687 dsm.cpp 596 0 000003DC] TWRC_SUCCESS
[185250734 dsm.cpp 2028 0 000003DC]
[185250734 dsm.cpp 2029 0 000003DC] DG_CONTROL/DAT_USERINTERFACE/MSG_ENABLEDS
[185250750 dsm.cpp 2028 0 000003DC]
[185250750 dsm.cpp 2029 0 000003DC] DG_CONTROL/DAT_NULL/MSG_XFERREADY
[185250750 dsm.cpp 596 0 000003DC] TWRC_SUCCESS
[185250750 dsm.cpp 596 0 000003DC] TWRC_SUCCESS
[185250750 dsm.cpp 2028 0 000003DC]
[185250750 dsm.cpp 2029 0 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185250750 dsm.cpp 596 0 000003DC] TWRC_SUCCESS
[185250750 dsm.cpp 2028 0 000003DC]
[185250750 dsm.cpp 2029 0 000003DC] DG_IMAGE/DAT_IMAGEINFO/MSG_GET
[185250750 dsm.cpp 596 0 000003DC] TWRC_SUCCESS
[185250750 dsm.cpp 2028 0 000003DC]
[185250750 dsm.cpp 2029 0 000003DC] DG_IMAGE/DAT_IMAGELAYOUT/MSG_GET
[185250750 dsm.cpp 596 0 000003DC] TWRC_SUCCESS
[185250750 dsm.cpp 2028 0 000003DC]
[185250750 dsm.cpp 2029 0 000003DC] DG_IMAGE/DAT_IMAGENATIVEXFER/MSG_GET
[185250937 dsm.cpp 2028 1400 000003DC]
[185250937 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185250937 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185250984 dsm.cpp 2028 1400 000003DC]
[185250984 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185250984 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185251140 dsm.cpp 2028 1400 000003DC]
[185251140 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185251140 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185251187 dsm.cpp 2028 1008 000003DC]
[185251187 dsm.cpp 2029 1008 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185251187 dsm.cpp 596 1008 000003DC] TWRC_SUCCESS
[185251187 dsm.cpp 2028 1400 000003DC]
[185251187 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185251187 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185251187 dsm.cpp 2028 1400 000003DC]
[185251187 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185251187 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185251187 dsm.cpp 2028 1400 000003DC]
[185251187 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185251187 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185251187 dsm.cpp 2028 1400 000003DC]
[185251187 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185251187 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185251343 dsm.cpp 2028 1400 000003DC]
[185251343 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185251343 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185251390 dsm.cpp 2028 1008 000003DC]
[185251390 dsm.cpp 2029 1008 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185251390 dsm.cpp 596 1008 000003DC] TWRC_SUCCESS
[185251390 dsm.cpp 2028 1400 000003DC]
[185251390 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185251390 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185251390 dsm.cpp 2028 1400 000003DC]
[185251390 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185251390 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185251390 dsm.cpp 2028 1400 000003DC]
[185251390 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185251390 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185251390 dsm.cpp 2028 1400 000003DC]
[185251390 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185251390 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185253828 dsm.cpp 2028 1008 000003DC]
[185253828 dsm.cpp 2029 1008 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185253828 dsm.cpp 596 1008 000003DC] TWRC_SUCCESS
[185253828 dsm.cpp 2028 1400 000003DC]
[185253828 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185253828 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185253828 dsm.cpp 2028 1400 000003DC]
[185253828 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185253828 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185253828 dsm.cpp 2028 1400 000003DC]
[185253828 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185253828 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185253828 dsm.cpp 2028 1400 000003DC]
[185253828 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185253828 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185253890 dsm.cpp 2028 1008 000003DC]
[185253890 dsm.cpp 2029 1008 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185253890 dsm.cpp 596 1008 000003DC] TWRC_SUCCESS
[185253890 dsm.cpp 2028 1400 000003DC]
[185253890 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185253890 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185253890 dsm.cpp 2028 1400 000003DC]
[185253890 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185253890 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185253890 dsm.cpp 2028 1400 000003DC]
[185253890 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185253890 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185253890 dsm.cpp 2028 1400 000003DC]
[185253890 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185253890 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185255984 dsm.cpp 2028 1008 000003DC]
[185255984 dsm.cpp 2029 1008 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185255984 dsm.cpp 596 1008 000003DC] TWRC_SUCCESS
[185255984 dsm.cpp 2028 1400 000003DC]
[185255984 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185255984 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185255984 dsm.cpp 2028 1400 000003DC]
[185255984 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185255984 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185255984 dsm.cpp 2028 1400 000003DC]
[185255984 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185255984 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185255984 dsm.cpp 2028 1400 000003DC]
[185255984 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185255984 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185256046 dsm.cpp 2028 1400 000003DC]
[185256046 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185256046 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185257531 dsm.cpp 2028 1400 000003DC]
[185257531 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185257531 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185259718 dsm.cpp 2028 1400 000003DC]
[185259718 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185259718 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185259718 dsm.cpp 2028 1400 000003DC]
[185259718 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185259718 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185259718 dsm.cpp 2028 1400 000003DC]
[185259718 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185259718 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185259718 dsm.cpp 2028 0 000003DC]
[185259718 dsm.cpp 2029 0 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185259718 dsm.cpp 596 0 000003DC] TWRC_SUCCESS
[185259718 dsm.cpp 2028 1400 000003DC]
[185259718 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185259718 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185259718 dsm.cpp 2028 1400 000003DC]
[185259718 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185259718 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185259718 dsm.cpp 2028 1400 000003DC]
[185259718 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185259718 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185259718 dsm.cpp 2028 1400 000003DC]
[185259718 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185259718 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185300140 dsm.cpp 2028 1400 000003DC]
[185300140 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185300140 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185300187 dsm.cpp 2028 1400 000003DC]
[185300187 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185300187 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185300640 dsm.cpp 2028 1400 000003DC]
[185300640 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185300640 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185303937 dsm.cpp 596 0 000003DC] TWRC_XFERDONE
[185303937 dsm.cpp 2028 0 000003DC]
[185303937 dsm.cpp 2029 0 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185303937 dsm.cpp 596 0 000003DC] TWRC_SUCCESS
[185303937 dsm.cpp 2028 0 000003DC]
[185303937 dsm.cpp 2029 0 000003DC] DG_IMAGE/DAT_PENDINGXFERS/MSG_ENDXFER
[185303937 dsm.cpp 596 0 000003DC] TWRC_FAILURE
[185303937 dsm.cpp 2028 0 000003DC]
[185303937 dsm.cpp 2029 0 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185303937 dsm.cpp 596 0 000003DC] TWRC_SUCCESS
[185303937 dsm.cpp 2028 1400 000003DC]
[185303937 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185303937 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185305906 dsm.cpp 2028 1400 000003DC]
[185305906 dsm.cpp 2029 1400 000003DC] DG_CONTROL/DAT_STATUS/MSG_GET
[185305906 dsm.cpp 596 1400 000003DC] TWRC_SUCCESS
[185306187 dsm.cpp 2028 0 000003DC]
[185306187 dsm.cpp 2029 0 000003DC] DG_CONTROL/DAT_USERINTERFACE/MSG_DISABLEDS
[185306203 dsm.cpp 2028 1413 000003DC]
[185306203 dsm.cpp 2029 1413 000003DC] DG_CONTROL/DAT_NULL/MSG_CLOSEDSREQ
[185306203 dsm.cpp 596 1413 000003DC] TWRC_SUCCESS
[185306203 dsm.cpp 596 2 000003DC] TWRC_SUCCESS
[185306203 dsm.cpp 2028 2 000003DC]
[185306203 dsm.cpp 2029 2 000003DC] DG_CONTROL/DAT_IDENTITY/MSG_CLOSEDS
[185306203 dsm.cpp 596 0 000003DC] TWRC_SUCCESS
It’s strange, i tink my call to stop transfer is correct: it hide the call:
void SourceManager::stopTransfer()
{
TW_PENDINGXFERS twPendingXfers;
twainProcedure(&m_appId,m_currentSource->getTwainIdentity(),DG_IMAGE,DAT_PENDINGXFERS,MSG_ENDXFER,(TW_MEMREF)&twPendingXfers);
}
Best regards.