internal unsafe void MarshalTo(Interop.SparseBufferMemoryBindInfo *pointer) { this.Buffer?.MarshalTo(&pointer->Buffer); //Binds if (this.Binds != null) { var fieldPointer = (Interop.SparseMemoryBind *)Interop.HeapUtil.AllocateAndClear <Interop.SparseMemoryBind>(this.Binds.Length); for (int index = 0; index < this.Binds.Length; index++) { this.Binds[index].MarshalTo(&fieldPointer[index]); } pointer->Binds = fieldPointer; } else { pointer->Binds = null; } pointer->BindCount = (uint)(this.Binds?.Length ?? 0); }
internal SparseBufferMemoryBindInfo(Interop.SparseBufferMemoryBindInfo* ptr) { m = ptr; Initialize (); }
public SparseBufferMemoryBindInfo() { m = (Interop.SparseBufferMemoryBindInfo*) Interop.Structure.Allocate (typeof (Interop.SparseBufferMemoryBindInfo)); Initialize (); }