private int BufferSpaceProc() { // Assume that we have 1 GB of available space. int space = 1024 * 1024 * 1024; NativeStructs.MEMORYSTATUSEX buffer = new NativeStructs.MEMORYSTATUSEX() { dwLength = (uint)Marshal.SizeOf(typeof(NativeStructs.MEMORYSTATUSEX)) }; if (SafeNativeMethods.GlobalMemoryStatusEx(ref buffer)) { if (buffer.ullAvailVirtual < (ulong)space) { space = (int)buffer.ullAvailVirtual; } } return(space); }
internal static extern bool GlobalMemoryStatusEx(ref NativeStructs.MEMORYSTATUSEX lpBuffer);