internal unsafe void MarshalTo(Interop.SparseImageMemoryBindInfo *pointer) { this.Image?.MarshalTo(&pointer->Image); //Binds if (this.Binds != null) { var fieldPointer = (Interop.SparseImageMemoryBind *)Interop.HeapUtil.AllocateAndClear <Interop.SparseImageMemoryBind>(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 SparseImageMemoryBindInfo(Interop.SparseImageMemoryBindInfo* ptr) { m = ptr; Initialize (); }
public SparseImageMemoryBindInfo() { m = (Interop.SparseImageMemoryBindInfo*) Interop.Structure.Allocate (typeof (Interop.SparseImageMemoryBindInfo)); Initialize (); }