nodejs 如何调用 CH375函数?

问题遇到的现象和发生背景

我是新SHOU一枚,最近在用nodejs做一个上位机软件,通过CH375拿到设备发送过来的数据。厂家给了CH375DLL64.dll,由于nodejs调用dll文件比较麻烦,经过在网上找资料,node-gyp , py2.7 , visual studio , ffi , ref , ref-array 这些库及环境我都安装了。现在有一个问题,我在调用CH375ReadData函数的时候,只返回了true,并没有其他数据,是不是我的写法有问题,麻烦各位da niu

用代码块功能插入代码,请勿粘贴截图

C的函数:
BOOL WINAPI CH375ReadData( // 读取数据块
ULONG iIndex, // 指定 CH375 设备序号或者打开设备的句柄
PVOID oBuffer, // 指向一个足够大的缓冲区,用于保存读取的数据
PULONG ioLength ); // 指向长度单元,输入时为准备读取的长度,返回后为实际读取的长度

js代码:
const ffi = require('ffi');
const ref = require('ref');
const refArray = require('ref-array');

    let pvoid = refArray(ref.types.ulong);
    let pulong = refArray(ref.types.ulong);

    const libm = ffi.Library('./CH375DLL64.dll', {
        'CH375OpenDevice':['long',['long']],
        'CH375GetDeviceName':['int',['int']],
        'CH375ReadData':['bool',['ulong',pvoid,pulong]],
    });

    (async ()=>{
        let num = 0;

        const openRes = await libm.CH375OpenDevice(num);
        console.log('返回句柄:' + openRes);

        if(openRes != -1){
            const bufferRes = await libm.CH375GetDeviceName(num);
            console.log('返回缓冲区:' + bufferRes);

            try {
                libm.CH375ReadData.async(openRes,new pvoid(200),new pulong(200),(err,result)=>{
                    if(!err){
                        console.log('返回类型' + result);
                    }else{
                        console.log('错误' + result);
                    }
                });
            }catch (e) {
                console.log('err');
                console.log(e);
            }
        }
    })();
运行结果及报错内容
    返回句柄:624
    返回缓冲区:4217344
    返回类型true
我想要达到的结果
要拿到设备传回来的数据