#ifndef __HGTWAIN_H__ #define __HGTWAIN_H__ #include "../base/HGDef.h" #include "../base/HGBaseErr.h" #include "HGTwainErr.h" #include "../base/HGImage.h" HG_DECLARE_HANDLE(HGTwainDSM); HG_DECLARE_HANDLE(HGTwainDS); #pragma pack(push) #pragma pack(4) /* TWAIN设备自定义信息 */ typedef struct { HGInt vid; // VID HGInt pid; // PID HGChar sn[32]; // 设备序列号 HGChar type[32]; // 设备型号 HGChar fwVer[32]; // 设备固件版本号 HGChar ip[32]; // 设备IP HGChar mac[32]; // 设备MAC HGChar driverVer[32]; // 驱动版本号 HGChar vendor[32]; // 制造商 HGChar copyright[32]; // 版权信息 HGChar comUrl[128]; // 公司网址 HGChar comTel[32]; // 公司电话 HGChar comAddr[256]; // 公司地址 HGChar comGps[256]; // 公司地图定位 HGInt rollerCount; // 滚轴计数 HGInt totalCount; // 历史张数 }HGTwainDeviceCustomInfo; #pragma pack(pop) #define HGTWAIN_EVENT_TYPE_WORKING 1L #define HGTWAIN_EVENT_TYPE_SCANFINISHED 2L /* ds回调 */ typedef void (HGAPI *HGDSEventFunc)(HGTwainDS ds, HGUInt event, HGPointer param); typedef void (HGAPI* HGDSImageFunc)(HGTwainDS ds, HGImage image, HGPointer param); HGEXPORT HGResult HGAPI HGTwain_CreateDSM(HWND hwnd, HGTwainDSM *dsm); HGEXPORT HGResult HGAPI HGTwain_DestroyDSM(HGTwainDSM dsm); HGEXPORT HGResult HGAPI HGTwain_GetDSCount(HGTwainDSM dsm, HGUInt* count); HGEXPORT HGResult HGAPI HGTwain_GetDSNameWithIndex(HGTwainDSM dsm, HGUInt index, HGChar* name, HGUInt maxLen); HGEXPORT HGResult HGAPI HGTwain_OpenDS(HGTwainDSM dsm, HGUInt index, HGTwainDS *ds); HGEXPORT HGResult HGAPI HGTwain_OpenDefaultDS(HGTwainDSM dsm, HGTwainDS* ds); HGEXPORT HGResult HGAPI HGTwain_OpenSelectedDS(HGTwainDSM dsm, HGTwainDS* ds); HGEXPORT HGResult HGAPI HGTwain_OpenSelectedDSEx(HGTwainDSM dsm, HGTwainDS* ds); HGEXPORT HGResult HGAPI HGTwain_CloseDS(HGTwainDS ds); HGEXPORT HGResult HGAPI HGTwain_GetDSName(HGTwainDS ds, HGChar* name, HGUInt maxLen); HGEXPORT HGResult HGAPI HGTwain_GetDSDeviceName(HGTwainDS ds, HGChar* name, HGUInt maxLen); HGEXPORT HGResult HGAPI HGTwain_GetDSDeviceCustomInfo(HGTwainDS ds, HGTwainDeviceCustomInfo *info); HGEXPORT HGResult HGAPI HGTwain_LoginDS(HGTwainDS ds, const HGChar *user, const HGChar *pwd); HGEXPORT HGResult HGAPI HGTwain_LogoutDS(HGTwainDS ds); HGEXPORT HGResult HGAPI HGTwain_ClearDSRollerCount(HGTwainDS ds); HGEXPORT HGResult HGAPI HGTwain_GetDSDriverLog(HGTwainDS ds, const HGChar *fileName); HGEXPORT HGResult HGAPI HGTwain_ClearDSDriverLog(HGTwainDS ds); HGEXPORT HGResult HGAPI HGTwain_GetDSDeviceLog(HGTwainDS ds, const HGChar *fileName); HGEXPORT HGResult HGAPI HGTwain_ClearDSDeviceLog(HGTwainDS ds); HGEXPORT HGResult HGAPI HGTwain_EnableDSUIOnly(HGTwainDS ds, HWND parent, HGDSEventFunc eventFunc, HGPointer eventParam); HGEXPORT HGResult HGAPI HGTwain_EnableDS(HGTwainDS ds, HGBool showUI, HWND parent, HGDSEventFunc eventFunc, HGPointer eventParam, HGDSImageFunc imageFunc, HGPointer imageParam); HGEXPORT HGResult HGAPI HGTwain_EnableDSWithSingleScan(HGTwainDS ds, HWND parent, HGDSEventFunc eventFunc, HGPointer eventParam, HGDSImageFunc imageFunc, HGPointer imageParam); HGEXPORT HGResult HGAPI HGTwain_DisableDS(HGTwainDS ds); #endif /* __HGTWAIN_H__ */