internal unsafe void MarshalTo(Interop.SparseImageOpaqueMemoryBindInfo *pointer)
        {
            this.Image?.MarshalTo(&pointer->Image);

            //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);
        }
Beispiel #2
0
 internal SparseImageOpaqueMemoryBindInfo(Interop.SparseImageOpaqueMemoryBindInfo* ptr)
 {
     m = ptr;
     Initialize ();
 }
Beispiel #3
0
 public SparseImageOpaqueMemoryBindInfo()
 {
     m = (Interop.SparseImageOpaqueMemoryBindInfo*) Interop.Structure.Allocate (typeof (Interop.SparseImageOpaqueMemoryBindInfo));
     Initialize ();
 }