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