63 global::Interop.CheckForAvailableVirtualMemory(
newSize);
67 safeMemoryMappedViewHandle.
Dispose();
70 global::Interop.Kernel32.MEMORY_BASIC_INFORMATION lpBuffer =
default(global::Interop.Kernel32.MEMORY_BASIC_INFORMATION);
71 global::Interop.Kernel32.VirtualQuery(safeMemoryMappedViewHandle, ref lpBuffer, (
UIntPtr)(ulong)
Marshal.
SizeOf(lpBuffer));
72 ulong num = (ulong)lpBuffer.RegionSize;
73 if ((lpBuffer.State & 0x2000u) != 0 || num <
newSize)
79 safeMemoryMappedViewHandle.
Dispose();
82 lpBuffer =
default(global::Interop.Kernel32.MEMORY_BASIC_INFORMATION);
83 global::Interop.Kernel32.VirtualQuery(safeMemoryMappedViewHandle, ref lpBuffer, (
UIntPtr)(ulong)
Marshal.
SizeOf(lpBuffer));
84 num = (ulong)lpBuffer.RegionSize;
88 size = (long)num - extraMemNeeded;
90 safeMemoryMappedViewHandle.
Initialize((ulong)(size + extraMemNeeded));
91 return new MemoryMappedView(safeMemoryMappedViewHandle, extraMemNeeded, size, access);