YF2201接口文档
# 文档说明
对此接口该部分主要描述手写签名设备的功能说明、动态链接库名称、调用过程、函数说明等。 接入手写组件后手写笔不抢鼠标,手写笔迹有压感效果。
功能说明
手写签名功能域主要实现获取手写签名设备(如手写板、 手写屏等) 的设备状态、 获取签名信息等功能, 该动态链接库提供给系统, 用以访问、 控制手写签名设备、 捕获 用户签名轨迹。
动态链接库名称
Sign.dll
# 调用过程图
硬件驱动除显卡驱动, 只提供 DLL 接口程序, 不再安装其他任何驱动程序, 硬件无鼠标状态, 由 Sign. dll 直接与手写板硬件交互。
对 Sign. dll 要求如下:
- 需支持 windows xp、 windows 7、 windows 8 操作系统或以上。
- 支持部署在任何目录下, dll 无需注册。
- 每个厂家的每类设备只能提供一个 DLL 文件, 无其他辅助 dll。
- DLL 支持云终端获取。
# 函数说明
# 接口功能特点描述
- 获取设备的信息: 厂家名称、 设备型号、Sign. dll 版本号、 屏幕笔迹的坐标范围、 压感 范围(512/1024/2048)、 手写设备类型(手写屏, 3/5 寸签名板, 手写板)、 设备 VID、 设备 pid、 设备 唯一序列号。
- 获取设备的状态: 不可用(没有找到设备)、 可用。
- 以回调函数的方式获取设备不可用状态: 当设备变得可用/不可用时, 触发回调函数。 当同一进 程注册多个回调函数时, 应按注册顺序的逆序依次回调。 设备应支持多进程同时注册回调。
- 以回调函数的方式获取手写笔状态: 当前坐标、 压感、 签名屏内按钮是否按下。 当同一进程注册 多个回调函数时, 按注册顺序的逆序依次回调函数。 设备应支持多进程同时获取手写笔状态。 当回调函数返回 0 时, 停止调用后续的回调函数; 返回非 0 时, 按注册顺序的逆序依次调用回调函 数。 为防止回调函数处理过慢, Sign. dll 内部应缓存不少于 133 个点的手写笔信息。
- 获取错误码的描述: 所有接口返回为整型错误码, 通过此函数得到中文描述。
- 提供错误码和错误信息对应关系的清单文件。
# 接口约定
- dll支持32位和64位操作系统。
- dll中所有接口函数及回调函数调用均使用STDCALL方式。
- dll中所有字符串、 字符数组均以’ \0’ 字符结尾。
- dll中所有指针内存由调用方分配。
# API 接口规范
# 获取错误码的描述
void GetErrorMessage(int errorCode, char* errorMsg) ;
输入
- errorCode: 错误码。
- errorMsg: 输出的错误描述, 内存由调用方分配, 最长 512 字节。
返回值
- 无
# 获取设备的信息
int GetDeviceInfo(DEVICE_INFO* info) 。
输入
- 设备信息结构体, 内存由调用方分配。 DEVICE INFO
返回值
- 0: 成功; 其他值: 失败。 可以通过 GetErrorMessage 得到描述。
# 获取设备状态
int GetDeviceStatus();
输入
- 无
返回值
- 0: 设备可用; 其他值: 设备不可用。
# 注册设备状态更改的回调函数
int RegisterDeviceStatusCallBack(DEVICE_STATUS_FUNC* func) ;
输入
返回值
- 0: 成功;
- 其他值: 失败。 可以通过 GetErrorMessage 得到描述。
# 注销设备状态更改的回调函数, 与 RegisterDeviceStatusCallBack 配对使用
int UnregisterDeviceStatusCallBack(DEVICE_STATUS_FUNC* func) ;
输入
返回值
- 0: 成功;
- 其他值: 失败。 可以通过 GetErrorMessage 得到描述。
# 注册手写笔信息回调函数
int RegisterTouchInfoCallBack(TOUCH_INFO_FUNC* func) ;
输入
返回值
- 0: 成功;
- 其他值: 失败。 可以通过 GetErrorMessage 得到描述。
# 注销手写笔信息回调函数。 与 RegisterTouchInfoCallBack 配对使用。
int UnregisterTouchInfoCallBack(TOUCH_INFO_FUNC* func) ;
输入
返回值
- 0: 成功;
- 其他值: 失败。 可以通过 GetErrorMessage 得到描述。
# 回调接口
# 设备状态回调
DEVICE_STATUS_FUNC
typedef void (STDCALL *DEVICE_STATUS_FUNC) (int status) ;
输入
- status :设备当前状态: 0, 可用; 其他值, 不可用
# 手写笔回调
TOUCH_INFO_FUNC
typedef int (STDCALL * TOUCH_INFO_FUNC) (TOUCH_INFO info) ;
属性 | 描述 |
---|---|
TOUCH INFO info | 手写笔信息结构体 |
返回值
- 0:停止后续回调函数的调用
- 1:按注册逆序继续回调后续回调函数
# 实体对象
# 设备信息
DEVICE-INFO
类型 | 属性 | 描述 |
---|---|---|
char [56] | VendorName | 厂家名称 |
char [32] | ProductName | 设备型号 |
char[12] | DllVersion | Sign. dll |
RECT | MonitorBounds; | 屏幕笔迹坐标范围 |
int | PressureLevel | 压感级别(512、 1024、 2048) |
int | DeviceType | 区分手写板、 10 寸手写屏、 3 寸/5 寸签名板 |
0: 10 寸手写屏 | ||
1: 3/5 寸签名屏(带小屏签字板) | ||
2: 手写板 | ||
ushrot | vendorlD | 设备 VID |
ushort | product ID | 设备 PID |
char | serial [20] | 设备唯一序列号, 以’ \0’ 结尾 |
RECT | ||
int | left | 左 |
int | right | 右 |
int | top | 上 |
int | bottom | 下 |
# 手写笔信息
TOUCH-INFO
类型 | 属性 | 描述 |
---|---|---|
int | X | X坐标 |
int | y | Y坐标 |
int | pressure | 压感值 |
int | btnld | 3 寸/5 寸屏的“确认”、“重签”、“取消” 按钮。 10 寸手写屏和手写板: btnId = -1 |
上次更新: 2023/03/14, 21:12:16