如何在Node.js中处理SlowBuffer?

时间:2014-09-16 12:22:37

标签: node.js node-ffi

现在我在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 >

1 个答案:

答案 0 :(得分:0)

SlowBuffer只是Buffer,它只是一堆原始二进制字节。如果要逐字节比较两个缓冲区,则必须使用for循环或类似buffertools'compare()的缓冲区。