This documentation is archived and is not being maintained.

MemoryMappedFile::CreateViewStream Method (Int64, Int64, MemoryMappedFileAccess)

Creates a stream that maps to a view of the memory-mapped file, and that has the specified offset, size, and access type.

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

[SecurityPermissionAttribute(SecurityAction::Demand, Flags = SecurityPermissionFlag::UnmanagedCode)]
MemoryMappedViewStream^ CreateViewStream(
	long long offset, 
	long long size, 
	MemoryMappedFileAccess access


Type: System::Int64
The byte at which to start the view.
Type: System::Int64
The size of the view. Specify 0 (zero) to create a view that starts at offset and ends approximately at the end of 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.

Return Value

Type: System.IO.MemoryMappedFiles::MemoryMappedViewStream
A stream of memory that has the specified characteristics.


offset or size is a negative value.


size is greater than the logical address space.


access is not a valid MemoryMappedFileAccess enumeration value.


access is invalid for the memory-mapped file.


size is greater than the total virtual memory.


access is invalid for the memory-mapped file.

You can use the stream returned by this method for sequential access to a memory-mapped file, such as for inter-process communications.

To create a complete view of the memory-mapped file, specify 0 (zero) for the size parameter. If you do this, the size of the view might be smaller or larger than the size of the source file on disk. This is because views are provided in units of system pages, and the size of the view is rounded up to the next system page size.

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