This documentation is archived and is not being maintained.

MemoryMappedFile.CreateFromFile Method (FileStream, String, Int64, MemoryMappedFileAccess, MemoryMappedFileSecurity, HandleInheritability, Boolean)

Creates a memory-mapped file that has the specified name, capacity, access type, security permissions, inheritability, and disposal requirement from a file on disk.

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

[SecurityPermissionAttribute(SecurityAction.Demand, Flags = SecurityPermissionFlag.UnmanagedCode)]
public static MemoryMappedFile CreateFromFile(
	FileStream fileStream,
	string mapName,
	long capacity,
	MemoryMappedFileAccess access,
	MemoryMappedFileSecurity memoryMappedFileSecurity,
	HandleInheritability inheritability,
	bool leaveOpen


Type: System.IO.FileStream
The fileStream to the file to map.
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. Specify 0 to set the capacity to the size of the file on disk.
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.
This parameter cannot be set to Read or Write.
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.
Type: System.Boolean
true to not dispose fileStream after the MemoryMappedFile is closed; false to dispose fileStream.

Return Value

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


mapName is an empty string.


capacity and the length of the file are zero.


access is set to the Read or Write enumeration value, which is not allowed.


fileStream or mapname is null.


capacity is less than zero.


capacity is less than the file size.


access is not a valid MemoryMappedFileAccess enumeration value.


inheritability is not a valid HandleInheritability enumeration value.


fileStream was closed.


access is set to MemoryMappedFileAccess.ReadWrite when fileStream's access is set to FileAccess.Read or FileAccess.Write.


mapName already exists.

If capacity is larger than the size of the file on disk, the file on disk is increased to match the specified capacity even if no data is written to the memory-mapped file. To prevent this from occurring, specify 0 (zero) for the default capacity, which will internally set capacity to the size of the file on disk.

.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.