); //ref. vs. [In, Out], see: https://www.pinvoke.net/default.aspx/kernel32.globalmemorystatusex

        internal static (bool success, ulong total, ulong avail) GetTotalPhysAndAvailPhys()
        {
            var statEx = new MemoryStatusEx {
                dwLength = (uint)Marshal.SizeOf(typeof(MemoryStatusEx))
            };

            return(GlobalMemoryStatusEx(ref statEx) ? (true, statEx.ullTotalPhys, statEx.ullAvailPhys) : ((bool success, ulong total, ulong avail))(false, 0, 0));
        }
 private static extern bool GlobalMemoryStatusEx(ref MemoryStatusEx lpBuffer
                                                 ); //ref. vs. [In, Out], see: https://www.pinvoke.net/default.aspx/kernel32.globalmemorystatusex