现在我正在使用 Node.js 中的 dll 开发一个 USB 串行应用程序。如果无法打开 com 端口,此 dll 将返回 INVALID_HANDLE_VALUE。所以我想在 Node.js 中处理 ret 值。在这种情况下,我该如何处理?
我不确定如何比较 ret 值和 SlowBuffer。
动态链接库
#define INVALID_HANDLE_VALUE ((HANDLE)(LONG_PTR)-1
typedef HANDLE (*OPEN)(int);
__declspec(dllexport) HANDLE opencom(int ncom)
带有 node-ffi 的 Node.js
var ffi = require('ffi');
var lib = ffi.Library('serialmw.dll', {
'opencom' : ['pointer', ['int']]
});
var hcom = null;
hcom = lib.opencom(1);
console.log(hcom); // <SlowBuffer@0xFFFFFFFFFFFFFFFF >