添加USB读数据事件通知(纸张计数);修复读取部分属性BUG
This commit is contained in:
parent
ee1a8450fb
commit
34e0dbfb95
|
@ -1870,6 +1870,8 @@ int hg_scanner::save_usb_data(std::shared_ptr<tiny_buffer> data)
|
||||||
if (wait_img_.is_waiting())
|
if (wait_img_.is_waiting())
|
||||||
wait_img_.notify();
|
wait_img_.notify();
|
||||||
}
|
}
|
||||||
|
unsigned int bytes = data->size();
|
||||||
|
ui_ev_cb_((scanner_handle)this, SANE_EVENT_USB_DATA_RECEIVED, NULL, &bytes, NULL);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -2444,13 +2446,10 @@ int hg_scanner::device_io_control(unsigned long code, void* data, unsigned* len)
|
||||||
return SCANNER_ERR_INSUFFICIENT_MEMORY;
|
return SCANNER_ERR_INSUFFICIENT_MEMORY;
|
||||||
}
|
}
|
||||||
|
|
||||||
char* buf = strcpy((char*)data, fw.c_str());
|
if (data)
|
||||||
|
strcpy((char*)data, fw.c_str());
|
||||||
|
|
||||||
if (buf)
|
return SCANNER_ERR_OK;
|
||||||
{
|
|
||||||
return SCANNER_ERR_OK;
|
|
||||||
}
|
|
||||||
return SCANNER_ERR_DATA_DAMAGED;
|
|
||||||
}
|
}
|
||||||
else if(code == IO_CTRL_CODE_GET_SERIAL)
|
else if(code == IO_CTRL_CODE_GET_SERIAL)
|
||||||
{
|
{
|
||||||
|
@ -2460,12 +2459,10 @@ int hg_scanner::device_io_control(unsigned long code, void* data, unsigned* len)
|
||||||
*len = ser.size();
|
*len = ser.size();
|
||||||
return SCANNER_ERR_INSUFFICIENT_MEMORY;
|
return SCANNER_ERR_INSUFFICIENT_MEMORY;
|
||||||
}
|
}
|
||||||
char* buf = strcpy((char*)data, ser.c_str());
|
if (data)
|
||||||
if (buf)
|
strcpy((char*)data, ser.c_str());
|
||||||
{
|
|
||||||
return SCANNER_ERR_OK;
|
return SCANNER_ERR_OK;
|
||||||
}
|
|
||||||
return SCANNER_ERR_DATA_DAMAGED;
|
|
||||||
}
|
}
|
||||||
else if (code == IO_CTRL_CODE_GET_HARDWARE_VERSION)
|
else if (code == IO_CTRL_CODE_GET_HARDWARE_VERSION)
|
||||||
{
|
{
|
||||||
|
@ -2475,13 +2472,10 @@ int hg_scanner::device_io_control(unsigned long code, void* data, unsigned* len)
|
||||||
*len = ip.size();
|
*len = ip.size();
|
||||||
return SCANNER_ERR_INSUFFICIENT_MEMORY;
|
return SCANNER_ERR_INSUFFICIENT_MEMORY;
|
||||||
}
|
}
|
||||||
char* buf = strcpy((char*)data, ip.c_str());
|
if (data)
|
||||||
|
strcpy((char*)data, ip.c_str());
|
||||||
|
|
||||||
if (buf)
|
return SCANNER_ERR_OK;
|
||||||
{
|
|
||||||
return SCANNER_ERR_OK;
|
|
||||||
}
|
|
||||||
return SCANNER_ERR_DATA_DAMAGED;
|
|
||||||
}
|
}
|
||||||
else if (code == IO_CTRL_CODE_GET_PAPER_ON)
|
else if (code == IO_CTRL_CODE_GET_PAPER_ON)
|
||||||
{
|
{
|
||||||
|
|
|
@ -2024,10 +2024,12 @@ extern "C" { // avoid compiler exporting name in C++ style !!!
|
||||||
|
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
|
HMODULE g_my_inst = NULL;
|
||||||
BOOL WINAPI DllMain(HINSTANCE inst, DWORD reason, LPVOID reserved)
|
BOOL WINAPI DllMain(HINSTANCE inst, DWORD reason, LPVOID reserved)
|
||||||
{
|
{
|
||||||
if (reason == DLL_PROCESS_ATTACH)
|
if (reason == DLL_PROCESS_ATTACH)
|
||||||
{
|
{
|
||||||
|
g_my_inst = inst;
|
||||||
if (g_sane_path.empty())
|
if (g_sane_path.empty())
|
||||||
{
|
{
|
||||||
char path[MAX_PATH] = { 0 };
|
char path[MAX_PATH] = { 0 };
|
||||||
|
|
Loading…
Reference in New Issue