Export (0) Print
Expand All

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
)

Parameters

fileStream
Type: System.IO.FileStream
The fileStream to the file to map.
mapName
Type: System.String
A name to assign to the memory-mapped file.
capacity
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.
access
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.
memoryMappedFileSecurity
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.
inheritability
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.
leaveOpen
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.

ExceptionCondition
ArgumentException

mapName is an empty string.

-or-

capacity and the length of the file are zero.

-or-

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

ArgumentNullException

fileStream or mapname is null.

ArgumentOutOfRangeException

capacity is less than zero.

-or-

capacity is less than the file size.

-or-

access is not a valid MemoryMappedFileAccess enumeration value.

-or-

inheritability is not a valid HandleInheritability enumeration value.

ObjectDisposedException

fileStream was closed.

UnauthorizedAccessException

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

IOException

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.

Community Additions

ADD
Show:
© 2015 Microsoft