MemoryMappedFile::CreateOrOpen Method (String^, Int64, MemoryMappedFileAccess, MemoryMappedFileOptions, MemoryMappedFileSecurity^, HandleInheritability)
Creates or opens a memory-mapped file that has the specified capacity, access type, memory allocation, security permissions, and inheritability in system memory.
Assembly: System.Core (in System.Core.dll)
public: [SecurityCriticalAttribute] [SecurityPermissionAttribute(SecurityAction::Demand, Flags = SecurityPermissionFlag::UnmanagedCode)] static MemoryMappedFile^ CreateOrOpen( String^ mapName, long long capacity, MemoryMappedFileAccess access, MemoryMappedFileOptions options, MemoryMappedFileSecurity^ memoryMappedFileSecurity, 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 enumeration values that specifies memory allocation options for the memory-mapped file.
- 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.
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 |
Use this method to create or open a memory-mapped file that is not persisted (that is, not associated with a file on disk), which you can use to share data between processes.
for access to unmanaged code. Associated enumeration: SecurityPermissionFlag::UnmanagedCode.
Available since 4.0