#include #include "hgscanner_error.h" #define TRY_VALUE(en) RETURN_IF(scanerr, en) std::string scanner_error_name(int scanerr) { TRY_VALUE(SCANNER_ERR_OK); // 1:软件逻辑错误 TRY_VALUE(SCANNER_ERR_INVALID_PARAMETER); TRY_VALUE(SCANNER_ERR_USER_CANCELED); TRY_VALUE(SCANNER_ERR_INSUFFICIENT_MEMORY); TRY_VALUE(SCANNER_ERR_ACCESS_DENIED); TRY_VALUE(SCANNER_ERR_IO_PENDING); TRY_VALUE(SCANNER_ERR_NOT_EXACT); TRY_VALUE(SCANNER_ERR_CONFIGURATION_CHANGED); TRY_VALUE(SCANNER_ERR_NOT_OPEN); TRY_VALUE(SCANNER_ERR_NOT_START); TRY_VALUE(SCANNER_ERR_NOT_ANY_MORE); TRY_VALUE(SCANNER_ERR_NO_DATA); TRY_VALUE(SCANNER_ERR_HAS_DATA_YET); TRY_VALUE(SCANNER_ERR_OUT_OF_RANGE); TRY_VALUE(SCANNER_ERR_IO); TRY_VALUE(SCANNER_ERR_TIMEOUT); TRY_VALUE(SCANNER_ERR_OPEN_FILE_FAILED); TRY_VALUE(SCANNER_ERR_CREATE_FILE_FAILED); TRY_VALUE(SCANNER_ERR_WRITE_FILE_FAILED); TRY_VALUE(SCANNER_ERR_DATA_DAMAGED); TRY_VALUE(SCANNER_ERR_OPENED_BY_OTHER_PROCESS); TRY_VALUE(SCANNER_ERR_LANG_PAK_LOST); TRY_VALUE(SCANNER_ERR_RELOAD_IMAGE_PARAM); TRY_VALUE(SCANNER_ERR_RELOAD_OPT_PARAM); TRY_VALUE(SCANNER_ERR_THROW_EXCEPTION); // 2:USB错误; TRY_VALUE(SCANNER_ERR_USB_INIT_FAILED); TRY_VALUE(SCANNER_ERR_USB_REGISTER_PNP_FAILED); TRY_VALUE(SCANNER_ERR_USB_CLAIM_INTERFACE_FAILED); // 3:硬件错误 TRY_VALUE(SCANNER_ERR_DEVICE_NOT_FOUND); TRY_VALUE(SCANNER_ERR_DEVICE_NOT_SUPPORT); TRY_VALUE(SCANNER_ERR_DEVICE_BUSY); TRY_VALUE(SCANNER_ERR_DEVICE_SLEEPING); TRY_VALUE(SCANNER_ERR_DEVICE_COUNT_MODE); TRY_VALUE(SCANNER_ERR_DEVICE_STOPPED); TRY_VALUE(SCANNER_ERR_DEVICE_COVER_OPENNED); TRY_VALUE(SCANNER_ERR_DEVICE_NO_PAPER); TRY_VALUE(SCANNER_ERR_DEVICE_FEEDING_PAPER); TRY_VALUE(SCANNER_ERR_DEVICE_DOUBLE_FEEDING); TRY_VALUE(SCANNER_ERR_DEVICE_PAPER_JAMMED); TRY_VALUE(SCANNER_ERR_DEVICE_STAPLE_ON); TRY_VALUE(SCANNER_ERR_DEVICE_PAPER_SKEW); TRY_VALUE(SCANNER_ERR_DEVICE_SIZE_CHECK); TRY_VALUE(SCANNER_ERR_DEVICE_DOGEAR); TRY_VALUE(SCANNER_ERR_DEVICE_NO_IMAGE); TRY_VALUE(SCANNER_ERR_DEVICE_SCANN_ERROR); TRY_VALUE(SCANNER_ERR_DEVICE_PC_BUSY); TRY_VALUE(SCANNER_ERR_DEVICE_ISLOCK); TRY_VALUE(SCANNER_ERR_DEVICE_UPGRADE_SUCCESSFUL); TRY_VALUE(SCANNER_ERR_DEVICE_UPGRADE_FAIL); TRY_VALUE(SCANNER_ERR_DEVICE_AUTO_FAIL_OVER); TRY_VALUE(SCANNER_ERR_DEVICE_AUTO_FAIL_INFO); TRY_VALUE(SCANNER_ERR_DEVICE_DISTORTION); TRY_VALUE(SCANNER_ERR_DEVICE_MAYBE_IS_HOLE); TRY_VALUE(SCANNER_ERR_DEVICE_DEVS_BOOTING); TRY_VALUE(SCANNER_ERR_DEVICE_UNKNOWN_STATUS); TRY_VALUE(SCANNER_ERR_DEVICE_NOT_READY); TRY_VALUE(SCANNER_ERR_DEVICE_GET_STATUS_FAILED); TRY_VALUE(SCANNER_ERR_DEVICE_FEEDER_POS); TRY_VALUE(SCANNER_ERR_DEVICE_CIS_OUT_OF_MEM); TRY_VALUE(SCANNER_ERR_DEVICE_CIS_STREAM); TRY_VALUE(SCANNER_ERR_DEVICE_HD_001); TRY_VALUE(SCANNER_ERR_DEVICE_HD_002); TRY_VALUE(SCANNER_ERR_DEVICE_HD_003); TRY_VALUE(SCANNER_ERR_DEVICE_HD_004); TRY_VALUE(SCANNER_ERR_DEVICE_HD_005); TRY_VALUE(SCANNER_ERR_DEVICE_HD_006); TRY_VALUE(SCANNER_ERR_DEVICE_HD_007); TRY_VALUE(SCANNER_ERR_DEVICE_HD_008); TRY_VALUE(SCANNER_ERR_DEVICE_HD_009); char unk[40] = { 0 }; sprintf(unk, "Unknown error(%d)", scanerr); return unk; }