This documentation is archived and is not being maintained.

MemoryMappedFile.CreateOrOpen Method (String, Int64, MemoryMappedFileAccess)

Creates or opens a memory-mapped file that has the specified capacity and access type in system memory.

Namespace:  System.IO.MemoryMappedFiles
Assembly:  System.Core (in System.Core.dll)

public static MemoryMappedFile CreateOrOpen(
	string mapName,
	long capacity,
	MemoryMappedFileAccess access


Type: System.String
A name to assign to the memory-mapped file.
Type: System.Int64
The maximum size, in bytes, to allocate to the memory-mapped file.
Type: System.IO.MemoryMappedFiles.MemoryMappedFileAccess
One of the enumeration values that specifies the type of access allowed to the memory-mapped file. The default is ReadWrite.

Return Value

Type: System.IO.MemoryMappedFiles.MemoryMappedFile
A memory-mapped file that has the specified characteristics.


mapName is an empty string.


access is set to write-only with the Write enumeration value.


mapName is null.


capacity is greater than the size of the logical address space.


capacity is less than or equal to zero.


access is not a valid MemoryMappedFileAccess enumeration value.


The operating system denied the specified access to the file; for example, access is set to Write or ReadWrite, but the file or directory is read-only.

Use this method to create or open a memory-mapped file that is not persisted (that is, not associated with a file on disk), which you can use to share data between processes.

.NET Framework

Supported in: 4

.NET Framework Client Profile

Supported in: 4

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.