我有一个具有函数CIDR_RegisterEvent
的dll,该函数获取函数指针和mask int,该dll是设备的桥,当从设备发送新事件时,它将调用该函数。 />
我使用以下代码连接功能。
var ffi = require('ffi')
var ref = require('ref')
var stringPtr = ref.refType(ref.types.CString);
var int = ref.types.int;
var libprime = ffi.Library('POS_CIDR.dll', {
'CIDR_Info': [stringPtr, []],
'CIDR_RegisterEvent': ['int', ['void *', ref.types.int32]],
});
c = ffi.Callback('void', ['int', 'string'],
function(id, str) {
console.log("id: ", id);
console.log("name: ", str);
});
libprime.CIDR_RegisterEvent(c, 5);
setInterval(function() {
console.log("*");
}, 1000);
process.on('exit', function() {
c;
});
当我运行代码时,设备指示灯会亮起,因此我知道它已连接,但y回调函数从未运行。
有人可以在我的代码中检测到问题吗?
我使用setInterval
函数使应用程序永久运行。