public static IntPtr CreateSharedMemory(ulong size, bool reserve) { if (OperatingSystem.IsWindows()) { return(MemoryManagementWindows.CreateSharedMemory((IntPtr)size, reserve)); } else if (OperatingSystem.IsLinux() || OperatingSystem.IsMacOS()) { return(MemoryManagementUnix.CreateSharedMemory(size, reserve)); } else { throw new PlatformNotSupportedException(); } }
public static IntPtr CreateSharedMemory(ulong size, bool reserve) { if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { IntPtr sizeNint = new IntPtr((long)size); return(MemoryManagementWindows.CreateSharedMemory(sizeNint, reserve)); } else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux) || RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) { return(MemoryManagementUnix.CreateSharedMemory(size, reserve)); } else { throw new PlatformNotSupportedException(); } }