code_app/modules/twain_user/HGTwain.h

66 lines
2.0 KiB
C

#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__ */