MemoryMappedFile::CreateOrOpen Method (String^, Int64, MemoryMappedFileAccess, MemoryMappedFileOptions, HandleInheritability)
Creates a new empty memory mapped file or opens an existing memory mapped file if one exists with the same name. If opening an existing file, the capacity, options, and memory arguments will be ignored.
Assembly: System.Core (in System.Core.dll)
public: static MemoryMappedFile^ CreateOrOpen( String^ mapName, long long capacity, MemoryMappedFileAccess access, MemoryMappedFileOptions options, HandleInheritability inheritability )
Parameters
- 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.
- 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.
- options
-
Type:
System.IO.MemoryMappedFiles::MemoryMappedFileOptions
A bitwise combination of values that indicate the memory allocation options to apply to the file.
- inheritability
-
Type:
System.IO::HandleInheritability
A value that specifies whether a handle to the memory-mapped file can be inherited by a child process. The default is None.
Return Value
Type: System.IO.MemoryMappedFiles::MemoryMappedFile^A memory-mapped file that has the specified characteristics.
| Exception | Condition |
|---|---|
| ArgumentException | |
| ArgumentNullException | mapName is null. |
| ArgumentOutOfRangeException | capacity is greater than the size of the logical address space. -or- capacity is less than or equal to zero. -or- access is not a valid MemoryMappedFileAccess enumeration value. -or- inheritability is not a valid HandleInheritability enumeration value. |
| UnauthorizedAccessException |
Available since 4.6