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