#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); /* TWAIN设备自定义信息 */ typedef struct { HGUShort vid; HGUShort pid; HGChar model[16]; HGChar type[16]; HGChar sn[32]; HGChar fwVer[32]; HGChar ip[32]; HGChar mac[32]; HGUInt rollerCount; HGUInt totalCount; }HGTwainDeviceCustomInfo; #pragma pack(pop) /* ds回调 */ typedef void (HGAPI *HGDSCloseReqFunc)(HGTwainDS ds, 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_EnableDSUIOnly(HGTwainDS ds, HWND parent, HGDSCloseReqFunc eventFunc, HGPointer eventParam); HGEXPORT HGResult HGAPI HGTwain_EnableDS(HGTwainDS ds, HGBool showUI, HWND parent, HGDSCloseReqFunc eventFunc, HGPointer eventParam, HGDSImageFunc imageFunc, HGPointer imageParam); HGEXPORT HGResult HGAPI HGTwain_DisableDS(HGTwainDS ds); #endif /* __HGTWAIN_H__ */