This documentation is archived and is not being maintained.

MemoryMappedFile.CreateFromFile Method (String)

Creates a memory-mapped file from a file on disk.

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

public static MemoryMappedFile CreateFromFile(
	string path


Type: System.String
The path to file to map.

Return Value

Type: System.IO.MemoryMappedFiles.MemoryMappedFile
A memory-mapped file.


path is an empty string, contains only white space, or has one or more invalid characters, as defined by the Path.GetInvalidFileNameChars method.


path refers to an invalid device.


path is null.


An I/O error occurred.


path exceeds the maximum length defined by the operating system. In Windows, paths must contain fewer than 248 characters, and file names must contain fewer than 260 characters.


The caller does not have the required permissions for the file.

The following example uses the CreateFromFile method to create a memory-mapped file, and then creates a memory-mapped view to a portion of an extremely large file.

using System;
using System.IO;
using System.IO.MemoryMappedFiles;
using System.Runtime.InteropServices;

class Program
	static void Main(string[] args)
		long offset = 0x10000000; // 256 megabytes
		long length = 0x20000000; // 512 megabytes

        // Create the memory-mapped file.
		using (var mmf = 
        // Create a random access view, from the 256th megabyte (the offset)
        // to the 768th megabyte (the offset plus length).
        using (var accessor = mmf.CreateViewAccessor(offset, length))

				int colorSize = Marshal.SizeOf(typeof(MyColor));
				MyColor color;

				// Make changes to the view.
				for (long i = 0; i < length; i += colorSize)
					accessor.Read(i, out color);
					accessor.Write(i, ref color);


	public struct MyColor
		public short Red;
		public short Green;
		public short Blue;
		public short Alpha;

		// Make the view brigher.
		public void Brighten(short value)
			Red = (short)Math.Min(short.MaxValue, (int)Red + value);
			Green = (short)Math.Min(short.MaxValue, (int)Green + value);
			Blue = (short)Math.Min(short.MaxValue, (int)Blue + value);
			Alpha = (short)Math.Min(short.MaxValue, (int)Alpha + value);


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