diff --git a/hgdriver/hgdev/hg_scanner.cpp b/hgdriver/hgdev/hg_scanner.cpp index b70fb75..a24137b 100644 --- a/hgdriver/hgdev/hg_scanner.cpp +++ b/hgdriver/hgdev/hg_scanner.cpp @@ -4219,6 +4219,28 @@ int hg_scanner::device_io_control(unsigned long code, void* data, unsigned* len) return SCANNER_ERR_OK; } + else if (code == IO_CTRL_CODE_SET_SCAN_WHEN_PAPER_ON) + { + long l = len ? *len : sizeof(bool); + int ret = setting_auto_paper_scan(data, &l); + if (len) + *len = l; + + return ret; + } + else if (code == IO_CTRL_CODE_GET_SCAN_WHEN_PAPER_ON) + { + if (!len) + return SCANNER_ERR_INVALID_PARAMETER; + if (*len < sizeof(bool)) + { + *len = sizeof(bool); + return SCANNER_ERR_INSUFFICIENT_MEMORY; + } + *(bool*)data = is_auto_paper_scan; + + return SCANNER_ERR_OK; + } return SCANNER_ERR_DEVICE_NOT_SUPPORT; }