此处描述C#函数:https://docs.microsoft.com/en-us/dotnet/api/system.runtime.interopservices.marshal.structuretoptr
将数据从托管对象封送到非托管内存块。
参数结构(对象):一个托管对象,其中包含要封送的数据。该对象必须是格式化类的结构或实例。
ptr(IntPtr):指向非托管内存块的指针,必须在调用此方法之前对其进行分配。
虽然我不知道像Marshal.StructureToPointer
那样容易使用的通用函数,但我确实想出了一种下层方式来完成相同的事情:https://stackoverflow.com/a/58473299/2441655
摘要:查找/创建一个直接指向非托管内存中的结构数据的node-ffi缓冲区,然后调用buffer.writeUInt32LE
,并提供给定字段的偏移量。