TWAIN日志分级处理
This commit is contained in:
parent
df75ae1e18
commit
87b0fbb5a0
|
@ -140,7 +140,7 @@ void mapping_buf::init_map(const char* file, unsigned long long size)
|
||||||
wchar_t buf[80] = { 0 };
|
wchar_t buf[80] = { 0 };
|
||||||
|
|
||||||
swprintf_s(buf, _countof(buf) - 1, L"Mapping %u bytes to file: ", size);
|
swprintf_s(buf, _countof(buf) - 1, L"Mapping %u bytes to file: ", size);
|
||||||
log_info((buf + info + L"\r\n").c_str(), 0);
|
log_info((buf + info + L"\r\n").c_str(), 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -100,7 +100,7 @@ namespace callback
|
||||||
{
|
{
|
||||||
wchar_t msg[218] = { 0 };
|
wchar_t msg[218] = { 0 };
|
||||||
swprintf_s(msg, _countof(msg) - 1, L"Lost device(0x%08X) when event(%u) occurs!\r\n", hdev, code);
|
swprintf_s(msg, _countof(msg) - 1, L"Lost device(0x%08X) when event(%u) occurs!\r\n", hdev, code);
|
||||||
log_info(msg, 0);
|
log_info(msg, 1);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -343,6 +343,7 @@ namespace callback
|
||||||
// SANE_EVENT_SCAN_FINISHED - void*: (utf8*)message, flag - error code (0 is success)
|
// SANE_EVENT_SCAN_FINISHED - void*: (utf8*)message, flag - error code (0 is success)
|
||||||
// SANE_EVENT_USB_DATA_RECEIVED- void* unused, be NULL, flag - unused, be 0
|
// SANE_EVENT_USB_DATA_RECEIVED- void* unused, be NULL, flag - unused, be 0
|
||||||
// SANE_EVENT_IMAGE_OK - void* unused, be NULL, flag - unused, be 0
|
// SANE_EVENT_IMAGE_OK - void* unused, be NULL, flag - unused, be 0
|
||||||
|
static HMODULE hui = NULL;
|
||||||
int (*choose_scanner)(const std::vector<DEVQUEUI>& devs) = NULL; // blocked. return selected DEVQUE::id or -1 if user cancelled
|
int (*choose_scanner)(const std::vector<DEVQUEUI>& devs) = NULL; // blocked. return selected DEVQUE::id or -1 if user cancelled
|
||||||
int (*apply_current_config)(const char* dev_name, SANE_Handle device, LPSANEAPI api) = NULL; // 应用设备的当前配<E5898D>?
|
int (*apply_current_config)(const char* dev_name, SANE_Handle device, LPSANEAPI api) = NULL; // 应用设备的当前配<E5898D>?
|
||||||
int (*show_setting_ui)(SANE_Handle device, HWND parent, LPSANEAPI api, const char* devname, bool with_scan, std::function<void(ui_result)> callback) = NULL;
|
int (*show_setting_ui)(SANE_Handle device, HWND parent, LPSANEAPI api, const char* devname, bool with_scan, std::function<void(ui_result)> callback) = NULL;
|
||||||
|
@ -354,24 +355,22 @@ namespace callback
|
||||||
static void init_ui(void)
|
static void init_ui(void)
|
||||||
{
|
{
|
||||||
std::string root(hg_sane_middleware::sane_path());
|
std::string root(hg_sane_middleware::sane_path());
|
||||||
HMODULE mod = NULL;
|
|
||||||
|
|
||||||
root += "HGTwainUI.dll";
|
root += "HGTwainUI.dll";
|
||||||
|
hui = LoadLibraryExA(root.c_str(), NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
|
||||||
mod = LoadLibraryExA(root.c_str(), NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
|
if (!hui)
|
||||||
if (!mod)
|
|
||||||
{
|
{
|
||||||
std::wstring info(L"Load '" + local_trans::a2u(root.c_str(), CP_UTF8));
|
std::wstring info(L"Load '" + local_trans::a2u(root.c_str(), CP_UTF8));
|
||||||
|
|
||||||
info += L"' failed: " + std::to_wstring(GetLastError()) + L"\r\n";
|
info += L"' failed: " + std::to_wstring(GetLastError()) + L"\r\n";
|
||||||
|
|
||||||
log_info(info.c_str(), 0);
|
log_info(info.c_str(), 1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
#define GET_API(api) \
|
#define GET_API(api) \
|
||||||
proc = (FARPROC*)&api; \
|
proc = (FARPROC*)&api; \
|
||||||
*proc = GetProcAddress(mod, #api);
|
*proc = GetProcAddress(hui, #api);
|
||||||
|
|
||||||
FARPROC* proc = NULL;
|
FARPROC* proc = NULL;
|
||||||
|
|
||||||
|
@ -383,6 +382,20 @@ namespace callback
|
||||||
GET_API(close_ui);
|
GET_API(close_ui);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
static void unint_ui(void)
|
||||||
|
{
|
||||||
|
choose_scanner = NULL;
|
||||||
|
apply_current_config = NULL;
|
||||||
|
show_setting_ui = NULL;
|
||||||
|
show_progress_ui = NULL;
|
||||||
|
show_messagebox_ui = NULL;
|
||||||
|
close_ui = NULL;
|
||||||
|
if (hui)
|
||||||
|
{
|
||||||
|
FreeLibrary(hui);
|
||||||
|
hui = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -653,7 +666,7 @@ void scanner::transport_config_file(void)
|
||||||
old += pid;
|
old += pid;
|
||||||
if (PathFileExistsW((cfg_path_ + old).c_str()))
|
if (PathFileExistsW((cfg_path_ + old).c_str()))
|
||||||
{
|
{
|
||||||
log_info((L"Rename config file '" + old + L"' to '" + scanner_name_.substr(0, pos) + L"'\r\n").c_str(), 0);
|
log_info((L"Rename config file '" + old + L"' to '" + scanner_name_.substr(0, pos) + L"'\r\n").c_str(), 1);
|
||||||
MoveFileW((cfg_path_ + old).c_str(), (cfg_path_ + scanner_name_.substr(0, pos)).c_str());
|
MoveFileW((cfg_path_ + old).c_str(), (cfg_path_ + scanner_name_.substr(0, pos)).c_str());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1375,7 +1388,7 @@ void scanner::apply_scheme(gb::sane_config_schm* schm)
|
||||||
{
|
{
|
||||||
wchar_t info[128] = { 0 };
|
wchar_t info[128] = { 0 };
|
||||||
swprintf_s(info, _countof(info) - 1, L"ERROR: custom gamma data length is %u, but we expect %u.\r\n", v.length(), sizeof(SANE_Gamma));
|
swprintf_s(info, _countof(info) - 1, L"ERROR: custom gamma data length is %u, but we expect %u.\r\n", v.length(), sizeof(SANE_Gamma));
|
||||||
log_info(info, 0);
|
log_info(info, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2530,7 +2543,7 @@ COM_API_IMPLEMENT(scanner, int, get_scanned_images(DWORD milliseconds))
|
||||||
{
|
{
|
||||||
wchar_t msg[128] = { 0 };
|
wchar_t msg[128] = { 0 };
|
||||||
swprintf_s(msg, _countof(msg) - 1, L"Wait image count = %d\r\n", count);
|
swprintf_s(msg, _countof(msg) - 1, L"Wait image count = %d\r\n", count);
|
||||||
log_info(msg, 0);
|
log_info(msg, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
return count;
|
return count;
|
||||||
|
@ -3198,7 +3211,7 @@ int scanner::handle_device_event(int ev_code, void* data, unsigned int* len)
|
||||||
else if (callback::show_progress_ui && is_bIndicator)
|
else if (callback::show_progress_ui && is_bIndicator)
|
||||||
ui_notify(ev_code, data, *len);
|
ui_notify(ev_code, data, *len);
|
||||||
on_ui_event(ev_code, (void*)ev_code);
|
on_ui_event(ev_code, (void*)ev_code);
|
||||||
log_info(L"Scanning ...\r\n", 0);
|
log_info(L"Scanning ...\r\n", 1);
|
||||||
}
|
}
|
||||||
else if (ev_code == SANE_EVENT_IMAGE_OK)
|
else if (ev_code == SANE_EVENT_IMAGE_OK)
|
||||||
{
|
{
|
||||||
|
@ -3222,7 +3235,7 @@ int scanner::handle_device_event(int ev_code, void* data, unsigned int* len)
|
||||||
images_.count(&bytes);
|
images_.count(&bytes);
|
||||||
bytes /= 1024 * 1024;
|
bytes /= 1024 * 1024;
|
||||||
if (times == 1)
|
if (times == 1)
|
||||||
log_info(L"Memory usage upto limit! wait up to 100 ms ...\r\n", 0);
|
log_info(L"Memory usage upto limit! wait up to 100 ms ...\r\n", 1);
|
||||||
}
|
}
|
||||||
images_.save(img, img->bytes());
|
images_.save(img, img->bytes());
|
||||||
}
|
}
|
||||||
|
@ -3238,7 +3251,7 @@ int scanner::handle_device_event(int ev_code, void* data, unsigned int* len)
|
||||||
{
|
{
|
||||||
wchar_t msg[128] = { 0 };
|
wchar_t msg[128] = { 0 };
|
||||||
swprintf_s(msg, _countof(msg) - 1, L"New image(%u) received with %u bytes\r\n", img_ind_, simg->bytes);
|
swprintf_s(msg, _countof(msg) - 1, L"New image(%u) received with %u bytes\r\n", img_ind_, simg->bytes);
|
||||||
log_info(msg, 0);
|
log_info(msg, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (ev_code == SANE_EVENT_USB_DATA_RECEIVED)
|
else if (ev_code == SANE_EVENT_USB_DATA_RECEIVED)
|
||||||
|
@ -3278,7 +3291,7 @@ int scanner::handle_device_event(int ev_code, void* data, unsigned int* len)
|
||||||
{
|
{
|
||||||
wchar_t msg[128] = { 0 };
|
wchar_t msg[128] = { 0 };
|
||||||
swprintf_s(msg, _countof(msg) - 1, L"Scan finished with error: %u\r\n", *len);
|
swprintf_s(msg, _countof(msg) - 1, L"Scan finished with error: %u\r\n", *len);
|
||||||
log_info(msg, 0);
|
log_info(msg, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (ev_code == SANE_EVENT_ERROR)
|
else if (ev_code == SANE_EVENT_ERROR)
|
||||||
|
@ -3321,7 +3334,27 @@ int scanner::handle_device_event(int ev_code, void* data, unsigned int* len)
|
||||||
std::mutex g_lock_;
|
std::mutex g_lock_;
|
||||||
std::string g_path_file_("");
|
std::string g_path_file_("");
|
||||||
FILE* g_file_ = NULL;
|
FILE* g_file_ = NULL;
|
||||||
|
static int g_log_level = 1;
|
||||||
|
|
||||||
|
static int get_log_level(const char* log_file)
|
||||||
|
{
|
||||||
|
std::string cfg(log_file);
|
||||||
|
size_t pos = cfg.rfind('\\');
|
||||||
|
|
||||||
|
cfg.erase(pos);
|
||||||
|
pos = cfg.rfind('\\');
|
||||||
|
if (pos != std::string::npos)
|
||||||
|
{
|
||||||
|
if (stricmp(cfg.substr(pos).c_str(), "\\log") == 0)
|
||||||
|
{
|
||||||
|
cfg.erase(pos);
|
||||||
|
cfg += "\\config";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
cfg += "\\debug.cfg";
|
||||||
|
|
||||||
|
return GetPrivateProfileIntA("log", "twain_level", 1, cfg.c_str());
|
||||||
|
}
|
||||||
void init_log(void)
|
void init_log(void)
|
||||||
{
|
{
|
||||||
char* tmp = getenv("LOCALAPPDATA");
|
char* tmp = getenv("LOCALAPPDATA");
|
||||||
|
@ -3368,8 +3401,10 @@ void init_log(void)
|
||||||
wchar_t ts[128] = { 0 }, now[40] = { 0 };
|
wchar_t ts[128] = { 0 }, now[40] = { 0 };
|
||||||
|
|
||||||
hg_get_current_time_w(now);
|
hg_get_current_time_w(now);
|
||||||
swprintf_s(ts, _countof(ts) - 1, L"==================%s==================\r\n", now);
|
g_log_level = get_log_level(g_path_file_.c_str());
|
||||||
|
swprintf_s(ts, _countof(ts) - 1, L"==================%s - %d==================\r\n", now, g_log_level);
|
||||||
fwrite(ts, 2, lstrlenW(ts), g_file_);
|
fwrite(ts, 2, lstrlenW(ts), g_file_);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void close_log(void)
|
void close_log(void)
|
||||||
|
@ -3503,6 +3538,7 @@ extern "C"
|
||||||
hg_sane_middleware::set_callback(NULL, NULL);
|
hg_sane_middleware::set_callback(NULL, NULL);
|
||||||
hg_sane_middleware::clear();
|
hg_sane_middleware::clear();
|
||||||
close_log();
|
close_log();
|
||||||
|
callback::unint_ui();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -3513,6 +3549,7 @@ extern "C"
|
||||||
#endif
|
#endif
|
||||||
void __stdcall log_info(const wchar_t* info, int level)
|
void __stdcall log_info(const wchar_t* info, int level)
|
||||||
{
|
{
|
||||||
|
if(level >= g_log_level)
|
||||||
log(info);
|
log(info);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -761,7 +761,7 @@ static void log_attr_access(int attr, int method)
|
||||||
else METHOD_DESC(GetDefault)
|
else METHOD_DESC(GetDefault)
|
||||||
|
|
||||||
swprintf_s(msg, _countof(msg) - 1, L"%s %04x\r\n", op, attr);
|
swprintf_s(msg, _countof(msg) - 1, L"%s %04x\r\n", op, attr);
|
||||||
load_sane_util::log_info(msg, 0);
|
load_sane_util::log_info(msg, method == (int)Msg::Set || method == (int)Msg::Reset);
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -970,7 +970,7 @@ Result huagao_ds::identityOpenDs(const Identity& id)
|
||||||
{
|
{
|
||||||
if (attempt == 1)
|
if (attempt == 1)
|
||||||
{
|
{
|
||||||
load_sane_util::log_info(L"Driver is not ready, we wait ... \r\n", 0);
|
load_sane_util::log_info(L"Driver is not ready, we wait ... \r\n", 1);
|
||||||
}
|
}
|
||||||
std::this_thread::sleep_for(std::chrono::milliseconds(5));
|
std::this_thread::sleep_for(std::chrono::milliseconds(5));
|
||||||
err = 0;
|
err = 0;
|
||||||
|
@ -982,7 +982,7 @@ Result huagao_ds::identityOpenDs(const Identity& id)
|
||||||
//singleton_ = NULL;
|
//singleton_ = NULL;
|
||||||
wchar_t info[128] = { 0 };
|
wchar_t info[128] = { 0 };
|
||||||
swprintf_s(info, _countof(info) - 1, L"OpenDS error: %d\r\n", err);
|
swprintf_s(info, _countof(info) - 1, L"OpenDS error: %d\r\n", err);
|
||||||
load_sane_util::log_info(info, 0);
|
load_sane_util::log_info(info, 2);
|
||||||
|
|
||||||
load_sane_util::uninitialize();
|
load_sane_util::uninitialize();
|
||||||
return { ReturnCode::Failure, huagao_ds::condition_code_from_hg_error(err) };
|
return { ReturnCode::Failure, huagao_ds::condition_code_from_hg_error(err) };
|
||||||
|
@ -1234,7 +1234,7 @@ Result huagao_ds::imageInfoGet(const Identity&, ImageInfo& data)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
load_sane_util::log_info(L" imageInfoGet is false\r\n", 0);
|
load_sane_util::log_info(L" imageInfoGet is false\r\n", 1);
|
||||||
|
|
||||||
data.setHeight(0);
|
data.setHeight(0);
|
||||||
|
|
||||||
|
@ -1250,7 +1250,7 @@ Result huagao_ds::imageInfoGet(const Identity&, ImageInfo& data)
|
||||||
bool planar = data.planar();
|
bool planar = data.planar();
|
||||||
Fix32 xr = data.xResolution();
|
Fix32 xr = data.xResolution();
|
||||||
swprintf_s(buf, _countof(buf) - 1,L"imageInfoGet: h-->%d w-->%d bitsPerPixel-->%d compression-->%d pixelType-->%d planar-->%d\r\n", h, w, bitsPerPixel, compression, pixelType, planar);
|
swprintf_s(buf, _countof(buf) - 1,L"imageInfoGet: h-->%d w-->%d bitsPerPixel-->%d compression-->%d pixelType-->%d planar-->%d\r\n", h, w, bitsPerPixel, compression, pixelType, planar);
|
||||||
load_sane_util::log_info(buf, 0);
|
load_sane_util::log_info(buf, 1);
|
||||||
return success();
|
return success();
|
||||||
}
|
}
|
||||||
Result huagao_ds::imageLayoutGet(const Identity&, ImageLayout& data)
|
Result huagao_ds::imageLayoutGet(const Identity&, ImageLayout& data)
|
||||||
|
@ -1462,13 +1462,13 @@ Twpp::Result huagao_ds::imageFileXferGet(const Twpp::Identity& origin)
|
||||||
|
|
||||||
swprintf_s(msg, _countof(msg) - 1, L") = %d\r\n", GetLastError());
|
swprintf_s(msg, _countof(msg) - 1, L") = %d\r\n", GetLastError());
|
||||||
f += msg;
|
f += msg;
|
||||||
load_sane_util::log_info(f.c_str(), 0);
|
load_sane_util::log_info(f.c_str(), 3);
|
||||||
}
|
}
|
||||||
img->release();
|
img->release();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
load_sane_util::log_info((L"Map file to " + load_sane_util::ansi2unic(m_fileXfer.filePath().string().c_str()) + L"\r\n").c_str(), 0);
|
load_sane_util::log_info((L"Map file to " + load_sane_util::ansi2unic(m_fileXfer.filePath().string().c_str()) + L"\r\n").c_str(), 1);
|
||||||
|
|
||||||
img->keep_file(true);
|
img->keep_file(true);
|
||||||
img->release();
|
img->release();
|
||||||
|
@ -1507,7 +1507,7 @@ Twpp::Result huagao_ds::imageFileXferGet(const Twpp::Identity& origin)
|
||||||
|
|
||||||
swprintf_s(buf, _countof(buf) - 1, L"%d\r\n", GetLastError());
|
swprintf_s(buf, _countof(buf) - 1, L"%d\r\n", GetLastError());
|
||||||
info += load_sane_util::ansi2unic(target.c_str()) + L"' to '" + load_sane_util::ansi2unic(file.c_str()) + L"' failed: ";
|
info += load_sane_util::ansi2unic(target.c_str()) + L"' to '" + load_sane_util::ansi2unic(file.c_str()) + L"' failed: ";
|
||||||
load_sane_util::log_info((info + buf).c_str(), 0);
|
load_sane_util::log_info((info + buf).c_str(), 3);
|
||||||
}
|
}
|
||||||
if (++cv_e >= 9)
|
if (++cv_e >= 9)
|
||||||
break;
|
break;
|
||||||
|
@ -1541,7 +1541,7 @@ Twpp::Result huagao_ds::imageFileXferGet(const Twpp::Identity& origin)
|
||||||
std::wstring info(load_sane_util::ansi2unic(m_fileXfer.filePath().string().c_str()));
|
std::wstring info(load_sane_util::ansi2unic(m_fileXfer.filePath().string().c_str()));
|
||||||
wchar_t r[80] = { 0 };
|
wchar_t r[80] = { 0 };
|
||||||
swprintf_s(r, _countof(r) - 1, L": status = %d(Fail: 0x%x)\r\n", (int)ret.status(), cv_e);
|
swprintf_s(r, _countof(r) - 1, L": status = %d(Fail: 0x%x)\r\n", (int)ret.status(), cv_e);
|
||||||
load_sane_util::log_info((info + r).c_str(), 0);
|
load_sane_util::log_info((info + r).c_str(), 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1806,7 +1806,6 @@ void huagao_ds::init_support_caps(void)
|
||||||
load_sane_util::log_info(m_bIndicator ? L"Set show indicator: true\r\n" : L"Set show indicator: false\r\n", 0);
|
load_sane_util::log_info(m_bIndicator ? L"Set show indicator: true\r\n" : L"Set show indicator: false\r\n", 0);
|
||||||
return success();
|
return success();
|
||||||
}
|
}
|
||||||
load_sane_util::log_info(m_bIndicator ? L"Set show indicator: true\r\n" : L"Set show indicator: false\r\n", 0);
|
|
||||||
// data.type
|
// data.type
|
||||||
if (!data.operator bool()) //具有风险�(和气) Twain sample app ,data.m_cont is null,but DotNet(和气) data.m_cont not is null .
|
if (!data.operator bool()) //具有风险�(和气) Twain sample app ,data.m_cont is null,but DotNet(和气) data.m_cont not is null .
|
||||||
{
|
{
|
||||||
|
@ -3645,7 +3644,7 @@ int huagao_ds::handle_scanner_event(int ev, bool from_event_proc)
|
||||||
{
|
{
|
||||||
wchar_t msg[128] = { 0 }, unk[20] = { 0 };
|
wchar_t msg[128] = { 0 }, unk[20] = { 0 };
|
||||||
swprintf_s(msg, _countof(msg) - 1, L"[%x - %s]Fatal: start scanning from setting UI failed with error %d\r\n", GetCurrentThreadId(), desc_state(state(), unk), ret);
|
swprintf_s(msg, _countof(msg) - 1, L"[%x - %s]Fatal: start scanning from setting UI failed with error %d\r\n", GetCurrentThreadId(), desc_state(state(), unk), ret);
|
||||||
load_sane_util::log_info(msg, 0);
|
load_sane_util::log_info(msg, 1);
|
||||||
|
|
||||||
scanner_status_ = SCANNER_STATUS_STOPPED;
|
scanner_status_ = SCANNER_STATUS_STOPPED;
|
||||||
if(bUiOnly_)
|
if(bUiOnly_)
|
||||||
|
@ -3657,7 +3656,7 @@ int huagao_ds::handle_scanner_event(int ev, bool from_event_proc)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
swprintf_s(msg, _countof(msg) - 1, L"[%x - %s]Warning: notifyCloseCancel failed with error %d after start scanning failed\r\n", GetCurrentThreadId(), desc_state(state(), unk), rc);
|
swprintf_s(msg, _countof(msg) - 1, L"[%x - %s]Warning: notifyCloseCancel failed with error %d after start scanning failed\r\n", GetCurrentThreadId(), desc_state(state(), unk), rc);
|
||||||
load_sane_util::log_info(msg, 0);
|
load_sane_util::log_info(msg, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -3701,7 +3700,7 @@ void huagao_ds::trigger_ProcessEvent(Twpp::DataGroup dg, Twpp::Dat dat, Twpp::Ms
|
||||||
{
|
{
|
||||||
wchar_t info[128] = { 0 }, unk[20] = { 0 };
|
wchar_t info[128] = { 0 }, unk[20] = { 0 };
|
||||||
swprintf_s(info, _countof(info) - 1, L"[%x]Warning: notifyCloseCancel failed with error %s!\r\n", GetCurrentThreadId(), desc_return_code(rc, unk));
|
swprintf_s(info, _countof(info) - 1, L"[%x]Warning: notifyCloseCancel failed with error %s!\r\n", GetCurrentThreadId(), desc_return_code(rc, unk));
|
||||||
load_sane_util::log_info(info, 0);
|
load_sane_util::log_info(info, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -3710,14 +3709,14 @@ void huagao_ds::trigger_ProcessEvent(Twpp::DataGroup dg, Twpp::Dat dat, Twpp::Ms
|
||||||
if (dg == DataGroup::Control && dat == Dat::Event && msg == Msg::ProcessEvent && scanner_status_ == SCANNER_STATUS_SCAN_1)
|
if (dg == DataGroup::Control && dat == Dat::Event && msg == Msg::ProcessEvent && scanner_status_ == SCANNER_STATUS_SCAN_1)
|
||||||
{
|
{
|
||||||
app_trigger_event_ = true; // nothing else to do
|
app_trigger_event_ = true; // nothing else to do
|
||||||
load_sane_util::log_info(L"Good! first event is (Control, Event, ProcessEvent) after start scanning ^_^.\r\n", 0);
|
load_sane_util::log_info(L"Good! first event is (Control, Event, ProcessEvent) after start scanning ^_^.\r\n", 1);
|
||||||
}
|
}
|
||||||
else if(!app_trigger_event_)
|
else if(!app_trigger_event_)
|
||||||
{
|
{
|
||||||
int ev = 0;
|
int ev = 0;
|
||||||
|
|
||||||
if (scanner_status_ == SCANNER_STATUS_SCAN_1)
|
if (scanner_status_ == SCANNER_STATUS_SCAN_1)
|
||||||
load_sane_util::log_info(L"Sorry, first event is not (Control, Event, ProcessEvent) after start scanning, we takeover it!\r\n", 0);
|
load_sane_util::log_info(L"Sorry, first event is not (Control, Event, ProcessEvent) after start scanning, we takeover it!\r\n", 1);
|
||||||
if (scanner_.get())
|
if (scanner_.get())
|
||||||
{
|
{
|
||||||
ev = scanner_->get_event();
|
ev = scanner_->get_event();
|
||||||
|
@ -3737,7 +3736,7 @@ void huagao_ds::trigger_ProcessEvent(Twpp::DataGroup dg, Twpp::Dat dat, Twpp::Ms
|
||||||
{
|
{
|
||||||
wchar_t info[128] = { 0 }, unk[20] = { 0 };
|
wchar_t info[128] = { 0 }, unk[20] = { 0 };
|
||||||
swprintf_s(info, _countof(info) - 1, L"[%x]Warning: notifyCloseCancel failed with error %s when scanner is stopped!\r\n", GetCurrentThreadId(), desc_return_code(rc, unk));
|
swprintf_s(info, _countof(info) - 1, L"[%x]Warning: notifyCloseCancel failed with error %s when scanner is stopped!\r\n", GetCurrentThreadId(), desc_return_code(rc, unk));
|
||||||
load_sane_util::log_info(info, 0);
|
load_sane_util::log_info(info, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue