diff --git a/twain/twain/huagaods.cpp b/twain/twain/huagaods.cpp index 96606eb..dd04e39 100644 --- a/twain/twain/huagaods.cpp +++ b/twain/twain/huagaods.cpp @@ -1629,10 +1629,16 @@ Result huagao_ds::call(const Identity& origin, DataGroup dg, Dat dat, Msg msg, v rt = Base::call(origin, dg, dat, msg, data); if (log_all_triple_ || ((int)rt.returnCode() && rt.returnCode() != ReturnCode::NotDsEvent)) { - wchar_t buf[128] = { 0 }, dgs[20] = { 0 }, dts[20] = { 0 }, ms[20] = { 0 }, ss[20] = { 0 }, rcs[20] = { 0 }, cs[20] = { 0 }; - swprintf_s(buf, _countof(buf) - 1, L"[%x - %s]DSEntry(%s, %s, %s) = {%s, %s}\r\n", GetCurrentThreadId(), desc_state(state(), ss), - desc_data_group(dg, dgs), desc_data(dat, dts), desc_msg(msg, ms), desc_return_code(rt, rcs), desc_condition_code((ConditionCode)(Status)rt, cs)); - load_sane_util::log_info(buf, 7); + wchar_t dgs[20] = { 0 }, dts[20] = { 0 }, ms[20] = { 0 }, ss[20] = { 0 }, rcs[20] = { 0 }, cs[20] = { 0 }; + if (dat == Dat::Capability) + { + Twpp::Capability& cap = *(Twpp::Capability*)data; + load_sane_util::to_log(7, L"[%x - %s]DSEntry(%s, %s.%x, %s) = {%s, %s}\r\n", GetCurrentThreadId(), desc_state(state(), ss), + desc_data_group(dg, dgs), desc_data(dat, dts), (int)cap.type(), desc_msg(msg, ms), desc_return_code(rt, rcs), desc_condition_code((ConditionCode)(Status)rt, cs)); + } + else + load_sane_util::to_log(7, L"[%x - %s]DSEntry(%s, %s, %s) = {%s, %s}\r\n", GetCurrentThreadId(), desc_state(state(), ss), + desc_data_group(dg, dgs), desc_data(dat, dts), desc_msg(msg, ms), desc_return_code(rt, rcs), desc_condition_code((ConditionCode)(Status)rt, cs)); if ((int)rt.returnCode() && rt.returnCode() != ReturnCode::NotDsEvent) { bool changed = false; @@ -2424,7 +2430,7 @@ void huagao_ds::init_support_caps(void) return CapSupGetAll(msg, data, str, str); }; - if (SANE_ID(ex_to_be_scan) > 0) + if (SANE_ID(scan_when_paper_on) > 0) { m_query[CapType::AutoScan] = msgSupportGetAllSetReset; m_caps[CapType::AutoScan] = [this](Msg msg, Capability& data)->Result { @@ -2435,11 +2441,11 @@ void huagao_ds::init_support_caps(void) val = (bool)data.currentItem(); int ret = SANE_STATUS_GOOD; m_autoscan = val; - SET_SANE_OPT_EX(ret, scanner_, ex_to_be_scan, &val); + SET_SANE_OPT_EX(ret, scanner_, scan_when_paper_on, &val); return ret == SANE_STATUS_GOOD ? success() : badValue(); } std::vector all; - GET_SANE_OPT_EX(bool, scanner_, ex_to_be_scan, NULL, &all); + GET_SANE_OPT_EX(bool, scanner_, scan_when_paper_on, NULL, &all); m_autoscan = (bool)all[sane_opts::RANGE_POS_CURRENT]; //return oneValGetSet(msg, data, (Bool)all[sane_opts::RANGE_POS_CURRENT], 0); //data = Capability::createOneValue(CapType::AutoScan, (BYTE)all[sane_opts::RANGE_POS_CURRENT]);