现在我在Node.js中开发了一个带有dll的usb-serial应用程序。 如果无法打开com端口,则此dll返回INVALID_HANDLE_VALUE。所以我想处理Node.js中的ret值。在这种情况下,我该如何处理?
我不确定如何比较ret值和SlowBuffer。
DLL
#define INVALID_HANDLE_VALUE ((HANDLE)(LONG_PTR)-1
typedef HANDLE (*OPEN)(int);
__declspec(dllexport) HANDLE opencom(int ncom)
Node.js with node-ffi
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 >
答案 0 :(得分:0)
SlowBuffer
只是Buffer
,它只是一堆原始二进制字节。如果要逐字节比较两个缓冲区,则必须使用for循环或类似buffertools
'compare()
的缓冲区。