调用身份证模块 函数声明:__int16 IDCard_ReadCard(HANDLE icdev,char* message); 入口参数:icdev: 通讯标识符 出口参数:message: 返回的操作信息(长度在 8 到 18 之间,定义时字节长度要大于 18 )
ELECTRON: 8.0.0 NODEJS: 12.18.0
** ffi 文档里面把 出参的 char*定义成 string,于是我这样定义 **
IDCard_ReadCard: ['int', ['int', 'string']]
** 调用 **
const readMsgBuf = new Buffer(60);
const rs = this.$idcard.IDCard_ReadCard(dev, readMsgBuf)
然而会报错
[ERR_ASSERTION]: expected a "string" as the third argument
然后也再网上搜了下其他的方案
如声明成
IDCard_ReadCard: ['int', ['int', 'char *']]
虽然不报错了,但是不能获取返回值
还有一些其他的,都不能获取到数据,请了解这个的道友指导一下,不甚感激
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.