code_app/modules/twain_user/HGTwain.h

139 lines
4.6 KiB
C
Raw Permalink 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]; // 驱动版本号
2023-06-05 02:59:54 +00:00
HGChar vendor[128]; // 制造商
HGChar copyright[64]; // 版权信息
2023-05-12 07:14:18 +00:00
HGChar comUrl[128]; // 公司网址
HGChar comTel[32]; // 公司电话
HGChar comAddr[256]; // 公司地址
HGChar comGps[256]; // 公司地图定位
HGInt rollerCount; // 滚轴计数
HGInt totalCount; // 历史张数
}HGTwainDeviceCustomInfo;
typedef struct
{
HGUInt type;
union
{
HGChar valueChar;
HGByte valueByte;
HGShort valueShort;
HGUShort valueUShort;
HGInt valueInt;
HGUInt valueUInt;
HGBool valueBool;
HGFloat valueFloat;
HGChar valueStr32[32];
HGChar valueStr64[64];
HGChar valueStr128[128];
HGChar valueStr255[255];
};
}HGCapValue;
#pragma pack(pop)
#define HGCAPVALUE_TYPE_CHAR 1
#define HGCAPVALUE_TYPE_BYTE 2
#define HGCAPVALUE_TYPE_SHORT 3
#define HGCAPVALUE_TYPE_USHORT 4
#define HGCAPVALUE_TYPE_INT 5
#define HGCAPVALUE_TYPE_UINT 6
#define HGCAPVALUE_TYPE_BOOL 7
#define HGCAPVALUE_TYPE_FLOAT 8
#define HGCAPVALUE_TYPE_STR32 9
#define HGCAPVALUE_TYPE_STR64 10
#define HGCAPVALUE_TYPE_STR128 11
#define HGCAPVALUE_TYPE_STR255 12
#define HGTWAIN_EVENT_TYPE_WORKING 1L
#define HGTWAIN_EVENT_TYPE_SCANFINISHED 2L
#define HGTWAIN_EVENT_TYPE_CLOSEDSREQ 3L
#define HGTWAIN_IMAGE_TYPE_NORMAL 0L
/* ds回调
2022-05-03 10:25:52 +00:00
*/
typedef void (HGAPI *HGDSEventFunc)(HGTwainDS ds, HGUInt event, HGPointer param);
2023-10-16 02:38:35 +00:00
typedef HGUInt (HGAPI* HGDSImageFunc)(HGTwainDS ds, HGImage image, HGUInt type, 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_CreateDS(HGTwainDSM dsm, HGUInt index, HGTwainDS *ds);
2022-05-03 10:25:52 +00:00
HGEXPORT HGResult HGAPI HGTwain_CreateDefaultDS(HGTwainDSM dsm, HGTwainDS* ds);
2022-05-03 10:25:52 +00:00
HGEXPORT HGResult HGAPI HGTwain_CreateSelectedDS(HGTwainDSM dsm, HGTwainDS* ds);
2022-05-03 10:25:52 +00:00
HGEXPORT HGResult HGAPI HGTwain_CreateSelectedDSEx(HGTwainDSM dsm, HGTwainDS* ds);
HGEXPORT HGResult HGAPI HGTwain_DestroyDS(HGTwainDS ds);
HGEXPORT HGResult HGAPI HGTwain_OpenDS(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);
HGEXPORT HGResult HGAPI HGTwain_SetCapbility(HGTwainDS ds, HGUShort cap, const HGCapValue *value, HGBool reset);
HGEXPORT HGResult HGAPI HGTwain_GetCapbility(HGTwainDS ds, HGUShort cap, HGCapValue *value);
#endif /* __HGTWAIN_H__ */