0

node-ffi次の署名を使用して、コールバックの実装に取り​​組んでいます。

const callback = ffi.Callback('void', ['int', 'void *'], (eMsg, pData) => {
    console.log(pData);
    console.log(`Buffer deref: ${ref.get(pData)}`);
});

基礎となる C ライブラリは、これを のvoid *値で呼び出しますpData。コールバックの約半分は実際にint *値を返し、残りの半分pDataはより複雑なデータ (つまりStruct) です。最終ref.get(pData)的には になりnullます。の代わりにCallback使用するように定義を変更すると、正しい値が返されます。私が理解できないのは、サイズが 0 の Buffer になってしまい、適切に逆参照されない理由です ( が であって)。int *void *ref.get(pData)void *pData int *

私は何かが欠けているように感じますが、私の人生では、それが何であるかを見ることはできません. 誰でも助けることができますか?

4

1 に答える 1