code_app/modules/twain_user/HGTwain.h

95 lines
3.3 KiB
C
Raw Normal View History

2022-05-03 10:25:52 +00:00
#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);
2023-04-12 04:58:24 +00:00
#pragma pack(push)
#pragma pack(4)
/* TWAIN设备自定义信息 */
typedef struct
{
2023-05-12 07:14:18 +00:00
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回调
2022-05-03 10:25:52 +00:00
*/
typedef void (HGAPI *HGDSEventFunc)(HGTwainDS ds, HGUInt event, HGPointer param);
typedef void (HGAPI* HGDSImageFunc)(HGTwainDS ds, HGImage image, HGPointer param);
2022-05-03 10:25:52 +00:00
HGEXPORT HGResult HGAPI HGTwain_CreateDSM(HWND hwnd, HGTwainDSM *dsm);
2022-05-03 10:25:52 +00:00
HGEXPORT HGResult HGAPI HGTwain_DestroyDSM(HGTwainDSM dsm);
2022-05-03 10:25:52 +00:00
HGEXPORT HGResult HGAPI HGTwain_GetDSCount(HGTwainDSM dsm, HGUInt* count);
2022-05-03 10:25:52 +00:00
HGEXPORT HGResult HGAPI HGTwain_GetDSNameWithIndex(HGTwainDSM dsm, HGUInt index, HGChar* name, HGUInt maxLen);
2022-05-03 10:25:52 +00:00
HGEXPORT HGResult HGAPI HGTwain_OpenDS(HGTwainDSM dsm, HGUInt index, HGTwainDS *ds);
2022-05-03 10:25:52 +00:00
HGEXPORT HGResult HGAPI HGTwain_OpenDefaultDS(HGTwainDSM dsm, HGTwainDS* ds);
2022-05-03 10:25:52 +00:00
HGEXPORT HGResult HGAPI HGTwain_OpenSelectedDS(HGTwainDSM dsm, HGTwainDS* ds);
2022-05-03 10:25:52 +00:00
HGEXPORT HGResult HGAPI HGTwain_OpenSelectedDSEx(HGTwainDSM dsm, HGTwainDS* ds);
2022-05-03 10:25:52 +00:00
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);
2023-05-12 07:14:18 +00:00
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);
2023-05-17 10:29:08 +00:00
HGEXPORT HGResult HGAPI HGTwain_GetDSDriverLog(HGTwainDS ds, const HGChar *fileName);
2023-05-12 07:14:18 +00:00
HGEXPORT HGResult HGAPI HGTwain_ClearDSDriverLog(HGTwainDS ds);
2023-05-17 10:29:08 +00:00
HGEXPORT HGResult HGAPI HGTwain_GetDSDeviceLog(HGTwainDS ds, const HGChar *fileName);
2023-05-12 07:14:18 +00:00
HGEXPORT HGResult HGAPI HGTwain_ClearDSDeviceLog(HGTwainDS ds);
HGEXPORT HGResult HGAPI HGTwain_EnableDSUIOnly(HGTwainDS ds, HWND parent, HGDSEventFunc eventFunc, HGPointer eventParam);
2022-05-03 10:25:52 +00:00
HGEXPORT HGResult HGAPI HGTwain_EnableDS(HGTwainDS ds, HGBool showUI, HWND parent, HGDSEventFunc eventFunc, HGPointer eventParam,
HGDSImageFunc imageFunc, HGPointer imageParam);
2022-05-03 10:25:52 +00:00
2023-05-20 08:27:48 +00:00
HGEXPORT HGResult HGAPI HGTwain_EnableDSWithSingleScan(HGTwainDS ds, HWND parent, HGDSEventFunc eventFunc, HGPointer eventParam,
2023-05-12 02:29:48 +00:00
HGDSImageFunc imageFunc, HGPointer imageParam);
2022-05-03 10:25:52 +00:00
HGEXPORT HGResult HGAPI HGTwain_DisableDS(HGTwainDS ds);
#endif /* __HGTWAIN_H__ */