Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

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

.NET Framework 4.6 and 4.5

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)>]
static member CreateFromFile : 
        fileStream:FileStream * 
        mapName:string * 
        capacity:int64 * 
        access:MemoryMappedFileAccess * 
        memoryMappedFileSecurity:MemoryMappedFileSecurity * 
        inheritability:HandleInheritability * 
        leaveOpen:bool -> MemoryMappedFile


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.

This parameter can’t be set to 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 a null reference (Nothing in Visual Basic).

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 a null reference (Nothing in Visual Basic).


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.6, 4.5, 4

.NET Framework Client Profile

Supported in: 4

© 2015 Microsoft