Хотя я не знаю функции общего назначения, которую так же легко использовать, как Marshal.PtrToStructure/StructureToPtr
, я нашел способ более низкого уровня для выполнения тех же задач: https://stackoverflow.com/a/58473299/2441655
Сводка: найдите / создайте буфер node-ffi, который непосредственно указывает на данные структуры в неуправляемой памяти, затем:
- Для чтения: установите поле Buffer's
type
соответствующим образом, затем вызовите deref()
. - Для записи: Позвоните
buffer.writeUInt32LE
, со смещением указанного поля.