MemoryMappedFile.CreateOrOpen Method (String, Int64, MemoryMappedFileAccess, MemoryMappedFileOptions, MemoryMappedFileSecurity, HandleInheritability)

.NET Framework (current version)

Creates or opens a memory-mapped file that has the specified capacity, access type, memory allocation, security permissions, and inheritability in system memory.

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

[SecurityPermissionAttribute(SecurityAction.Demand, Flags = SecurityPermissionFlag.UnmanagedCode)]
public static MemoryMappedFile CreateOrOpen(
	string mapName,
	long capacity,
	MemoryMappedFileAccess access,
	MemoryMappedFileOptions options,
	MemoryMappedFileSecurity memoryMappedFileSecurity,
	HandleInheritability inheritability


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.

Type: System.IO.MemoryMappedFiles.MemoryMappedFileOptions

A bitwise combination of enumeration values that specifies memory allocation options for the memory-mapped file.

Type: System.IO.MemoryMappedFiles.MemoryMappedFileSecurity

The permissions that can be granted for file access and operations on memory-mapped files.

This parameter can be null.

Type: System.IO.HandleInheritability

One of the enumeration values that specifies whether a handle to the memory-mapped file can be inherited by a child process. The default is None.

Return Value

Type: System.IO.MemoryMappedFiles.MemoryMappedFile

A memory-mapped file that has the specified characteristics.

Exception Condition

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.


inheritability is not a valid HandleInheritability 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.


for access to unmanaged code. Associated enumeration: SecurityPermissionFlag.UnmanagedCode.

.NET Framework
Available since 4.0
Return to top