diff --git a/sane/scanner.cpp b/sane/scanner.cpp index 8446783..bbd0770 100644 --- a/sane/scanner.cpp +++ b/sane/scanner.cpp @@ -85,13 +85,13 @@ namespace callback }SCNINST; std::vector g_scanner_instances; - int sane_event_callback( // 注册回调的对象,需要保证该回调是多线程安全的 - SANE_Handle hdev // 产生事件的设备句柄 + int sane_event_callback( // 注册回调的对象,需要保证该回调是多线程安全? + SANE_Handle hdev // 产生事件的设备句? , int code // 回调事件代码 - , void* data // 回调事件数据,根据事件代码有所不同,参照具体事件定义 + , void* data // 回调事件数据,根据事件代码有所不同,参照具体事件定? , unsigned int* len // 数据长度(字节),或者event_data的缓冲区长度,详细请看相应的事件代码 - , void* param // 用户自定义数据,与调用sane_init_ex传入时的保持一致 - ) // 返回值依不同的事件代码而定,通常为“0” + , void* param // 用户自定义数据,与调用sane_init_ex传入时的保持一? + ) // 返回值依不同的事件代码而定,通常为?? { std::lock_guard lock(cb_lock_); std::vector::iterator it = std::find(g_scanner_instances.begin(), g_scanner_instances.end(), hdev); @@ -207,10 +207,10 @@ namespace callback , {SANE_STD_OPT_NAME_FOLD_TYPE , OPTION_TITLE_DZMS} , {SANE_STD_OPT_NAME_COLOR_CORRECTION , OPTION_TITLE_SPJZ} }, - g_discard[] = { {SANE_STD_OPT_NAME_REVERSE_01 , "\351\273\221\347\231\275\345\233\276\345\203\217\345\217\215\350\211\262\350\276\223\345\207\272\357\274\210\346\255\243\345\270\270\351\242\234\350\211\262\344\270\272\357\274\2320-\351\273\221\350\211\262\357\274\2331-\347\231\275\350\211\262\357\274\211"} // 黑白图像反色输出(正常颜色为:0-黑色;1-白色) - , {SANE_STD_OPT_NAME_FILTER , "\347\201\260\345\272\246\346\210\226\351\273\221\347\231\275\345\233\276\345\203\217 - \351\231\244\350\211\262"} // 灰度或黑白图像 - 除色 + g_discard[] = { {SANE_STD_OPT_NAME_REVERSE_01 , "\351\273\221\347\231\275\345\233\276\345\203\217\345\217\215\350\211\262\350\276\223\345\207\272\357\274\210\346\255\243\345\270\270\351\242\234\350\211\262\344\270\272\357\274\2320-\351\273\221\350\211\262\357\274\2331-\347\231\275\350\211\262\357\274\211"} // 黑白图像反色输出(正常颜色为?-黑色?-白色? + , {SANE_STD_OPT_NAME_FILTER , "\347\201\260\345\272\246\346\210\226\351\273\221\347\231\275\345\233\276\345\203\217 - \351\231\244\350\211\262"} // 灰度或黑白图?- 除色 , {SANE_STD_OPT_NAME_IS_AUTO_FEED_STRENGTH , "\350\207\252\345\212\250\346\220\223\347\272\270\345\274\272\345\272\246"} // 自动搓纸强度 - , {SANE_STD_OPT_NAME_FEED_STRENGTH_VALUE , "\346\220\223\347\272\270\351\230\210\345\200\274"} // " 搓纸阈值" + , {SANE_STD_OPT_NAME_FEED_STRENGTH_VALUE , "\346\220\223\347\272\270\351\230\210\345\200\274"} // " 搓纸阈? }; const char* option_title_2_name(const char* title) { @@ -347,7 +347,7 @@ namespace callback // SANE_EVENT_IMAGE_OK - void* unused, be NULL, flag - unused, be 0 static HMODULE hui = NULL; int (*choose_scanner)(const std::vector& devs) = NULL; // blocked. return selected DEVQUE::id or -1 if user cancelled - char* (*apply_current_config)(const char* dev_name, SANE_Handle device, LPSANEAPI api) = NULL; // 应用设备的当前配�? + char* (*apply_current_config)(const char* dev_name, SANE_Handle device, LPSANEAPI api) = NULL; // 应用设备的当前配? int (*show_setting_ui)(SANE_Handle device, HWND parent, LPSANEAPI api, const char* devname, bool with_scan, std::function callback) = NULL; int (*show_progress_ui)(HWND parent, std::function callback, std::function* notify) = NULL; int (*show_messagebox_ui)(HWND parent, int event, void* msg, int flag) = NULL; @@ -996,6 +996,7 @@ int scanner::init_options_id(void) INIT_FIXED_IDS(ROLLER_LIFE); INIT_FIXED_IDS(DEVICE_MAC_ADDR); INIT_FIXED_IDS(CUSTOM_GAMMA); + INIT_FIXED_IDS(MOTOR_VER); while ((desc = hg_sane_middleware::instance()->get_option_descriptor(handle_, (const void*)op_id))) { @@ -2724,6 +2725,7 @@ COM_API_IMPLEMENT(scanner, bool, get_option_info(int sn, value_type* type, value SIMPLE_STR_INFO(SANE_OPT_ID_DRIVER_LOG, false); SIMPLE_STR_INFO(SANE_OPT_ID_DEVICE_LOG, false); SIMPLE_STR_INFO(SANE_OPT_ID_DEVICE_MAC_ADDR, true); + SIMPLE_STR_INFO(SANE_OPT_ID_MOTOR_VER, true); SIMPLE_INT_INFO(SANE_OPT_ID_HELP, false); SIMPLE_INT_INFO(SANE_OPT_ID_HISTORY_COUNT, true); @@ -3440,7 +3442,7 @@ int scanner::handle_device_event(int ev_code, void* data, unsigned int* len) log_info(msg, 1); } } - //else if (ev_code == SANE_EVENT_ERROR) // 屏蔽,在停止扫描时展示信息 - 2023-05-30 + //else if (ev_code == SANE_EVENT_ERROR) // 屏蔽,在停止扫描时展示信?- 2023-05-30 //{ // if (callback::show_messagebox_ui && *len) // { diff --git a/twain/twain/huagaods.cpp b/twain/twain/huagaods.cpp index 90f57b0..816db60 100644 --- a/twain/twain/huagaods.cpp +++ b/twain/twain/huagaods.cpp @@ -3481,6 +3481,7 @@ void huagao_ds::init_support_caps_ex(void) GET_ONLY_CAP(CO_TEL, std::string, Str255); GET_ONLY_CAP(CO_ADDR, std::string, Str255); GET_ONLY_CAP(CO_GPS, std::string, Str255); + GET_ONLY_CAP(MOTOR_VER, std::string, Str255); GET_ONLY_CAP(DEV_NAME, std::string, Str255); GET_ONLY_CAP(DEV_FAMILY, std::string, Str255); GET_ONLY_CAP(VID, int, Int32);