public StagingBlock(byte[] array, uint sizeInBytes, StagingMemoryPool pool) { Debug.Assert(array != null); Debug.Assert(array.Length > 0); Debug.Assert(sizeInBytes > 0); Array = array; SizeInBytes = sizeInBytes; Pool = pool; }
public FixedStagingBlock(byte[] array, uint sizeInBytes, StagingMemoryPool pool) { Debug.Assert(array != null); Debug.Assert(array.Length > 0); Debug.Assert(sizeInBytes > 0); Array = array; SizeInBytes = sizeInBytes; Pool = pool; GCHandle = GCHandle.Alloc(array, GCHandleType.Pinned); Data = (void *)GCHandle.AddrOfPinnedObject(); }