我如何处理Node.js中的SlowBuffer?

现在我正在用Node.js开发一个usb-serial应用程序。 这个DLL返回INVALID_HANDLE_VALUE,如果无法打开COM端口。 所以我想在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与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 > 

SlowBuffer只是一个Buffer ,它只是一堆原始的二进制字节。 如果你想比较两个缓冲区逐字节,你将不得不使用for循环或类似buffertoolscompare()与两个缓冲区。