MemoryMappedFile.CreateFromFile Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает размещенный в памяти файл из существующего файла.
Перегрузки
CreateFromFile(String) |
Создает размещенный в памяти файл из файла на диске. |
CreateFromFile(String, FileMode) |
Создает из файла на диске размещенный в памяти файл с заданным режимом доступа. |
CreateFromFile(String, FileMode, String) |
Создает из файла на диске размещенный в памяти файл с заданным режимом доступа и именем. |
CreateFromFile(String, FileMode, String, Int64) |
Создает из файла на диске размещенный в памяти файл с заданным режимом доступа, именем и емкостью. |
CreateFromFile(String, FileMode, String, Int64, MemoryMappedFileAccess) |
Создает из файла на диске размещенный в памяти файл с указанными режимом доступа, именем, емкостью и типом доступа. |
CreateFromFile(SafeFileHandle, String, Int64, MemoryMappedFileAccess, HandleInheritability, Boolean) |
Создает файл, сопоставленный в памяти, из существующего файла, используя и указанный SafeFileHandle режим доступа, имя, наследуемость и емкость. |
CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, HandleInheritability, Boolean) |
Создает из существующего файла отображенный в память файл с заданными режимом доступа, именем, режимом наследования и емкостью. |
CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, MemoryMappedFileSecurity, HandleInheritability, Boolean) |
Создает из файла на диске размещенный в памяти файл с указанными именем, емкостью, типом доступа, разрешениями безопасности, режимом наследования и требованием к ликвидации. |
CreateFromFile(String)
- Исходный код:
- MemoryMappedFile.cs
- Исходный код:
- MemoryMappedFile.cs
- Исходный код:
- MemoryMappedFile.cs
Создает размещенный в памяти файл из файла на диске.
public:
static System::IO::MemoryMappedFiles::MemoryMappedFile ^ CreateFromFile(System::String ^ path);
public static System.IO.MemoryMappedFiles.MemoryMappedFile CreateFromFile (string path);
static member CreateFromFile : string -> System.IO.MemoryMappedFiles.MemoryMappedFile
Public Shared Function CreateFromFile (path As String) As MemoryMappedFile
Параметры
- path
- String
Путь к файлу для сопоставления.
Возвращаемое значение
Размещенный в памяти файл.
Исключения
Параметр path
является пустой строкой, содержащей только пробелы либо один или несколько недопустимых знаков, определенных методом GetInvalidFileNameChars().
-или-
path
ссылается на недопустимое устройство.
path
имеет значение null
.
Ошибка ввода/вывода.
path
превышает максимальную длину, определенную операционной системой.
Вызывающая сторона не имеет необходимых разрешений для файла.
Примеры
В следующем примере используется CreateFromFile метод для создания сопоставленного в памяти файла, а затем создается представление, сопоставленное с памятью, с частью файла очень большого размера.
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 = MemoryMappedFile.CreateFromFile(@"c:\ExtremelyLargeImage.data", FileMode.Open,"ImgA"))
{
// 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);
color.Brighten(10);
accessor.Write(i, ref color);
}
}
}
}
}
public struct MyColor
{
public short Red;
public short Green;
public short Blue;
public short Alpha;
// Make the view brighter.
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);
}
}
Imports System.IO
Imports System.IO.MemoryMappedFiles
Imports System.Runtime.InteropServices
Class Program
Sub Main()
Dim offset As Long = &H10000000 ' 256 megabytes
Dim length As Long = &H20000000 ' 512 megabytes
' Create the memory-mapped file.
Using mmf = MemoryMappedFile.CreateFromFile("c:\ExtremelyLargeImage.data", FileMode.Open, "ImgA")
' Create a random access view, from the 256th megabyte (the offset)
' to the 768th megabyte (the offset plus length).
Using accessor = mmf.CreateViewAccessor(offset, length)
Dim colorSize As Integer = Marshal.SizeOf(GetType(MyColor))
Dim color As MyColor
Dim i As Long = 0
' Make changes to the view.
Do While (i < length)
accessor.Read(i, color)
color.Brighten(10)
accessor.Write(i, color)
i += colorSize
Loop
End Using
End Using
End Sub
End Class
Public Structure MyColor
Public Red As Short
Public Green As Short
Public Blue As Short
Public Alpha As Short
' Make the view brighter.
Public Sub Brighten(ByVal value As Short)
Red = CType(Math.Min(Short.MaxValue, (CType(Red, Integer) + value)), Short)
Green = CType(Math.Min(Short.MaxValue, (CType(Green, Integer) + value)), Short)
Blue = CType(Math.Min(Short.MaxValue, (CType(Blue, Integer) + value)), Short)
Alpha = CType(Math.Min(Short.MaxValue, (CType(Alpha, Integer) + value)), Short)
End Sub
End Structure
См. также раздел
Применяется к
CreateFromFile(String, FileMode)
- Исходный код:
- MemoryMappedFile.cs
- Исходный код:
- MemoryMappedFile.cs
- Исходный код:
- MemoryMappedFile.cs
Создает из файла на диске размещенный в памяти файл с заданным режимом доступа.
public:
static System::IO::MemoryMappedFiles::MemoryMappedFile ^ CreateFromFile(System::String ^ path, System::IO::FileMode mode);
public static System.IO.MemoryMappedFiles.MemoryMappedFile CreateFromFile (string path, System.IO.FileMode mode);
static member CreateFromFile : string * System.IO.FileMode -> System.IO.MemoryMappedFiles.MemoryMappedFile
Public Shared Function CreateFromFile (path As String, mode As FileMode) As MemoryMappedFile
Параметры
- path
- String
Путь к файлу для сопоставления.
Возвращаемое значение
Размещенный в памяти файл с заданным режимом доступа.
Исключения
Параметр path
является пустой строкой, содержащей только пробелы либо один или несколько недопустимых знаков, определенных методом GetInvalidFileNameChars().
-или-
path
ссылается на недопустимое устройство.
-или-
mode
имеет значение Append.
path
имеет значение null
.
mode
имеет значение Create, CreateNew или Truncate.
-или-
mode
имеет значение OpenOrCreate и файл отсутствует на диске.
-или-
Ошибка ввода/вывода.
path
превышает максимальную длину, определенную операционной системой.
Вызывающая сторона не имеет необходимых разрешений для файла.
Комментарии
Параметр mode
относится к исходному файлу на диске. Для создания сопоставленного в памяти файла из исходного Open файла на диске можно использовать только значение перечисления.
См. также раздел
Применяется к
CreateFromFile(String, FileMode, String)
- Исходный код:
- MemoryMappedFile.cs
- Исходный код:
- MemoryMappedFile.cs
- Исходный код:
- MemoryMappedFile.cs
Создает из файла на диске размещенный в памяти файл с заданным режимом доступа и именем.
public:
static System::IO::MemoryMappedFiles::MemoryMappedFile ^ CreateFromFile(System::String ^ path, System::IO::FileMode mode, System::String ^ mapName);
public static System.IO.MemoryMappedFiles.MemoryMappedFile CreateFromFile (string path, System.IO.FileMode mode, string? mapName);
public static System.IO.MemoryMappedFiles.MemoryMappedFile CreateFromFile (string path, System.IO.FileMode mode, string mapName);
static member CreateFromFile : string * System.IO.FileMode * string -> System.IO.MemoryMappedFiles.MemoryMappedFile
Public Shared Function CreateFromFile (path As String, mode As FileMode, mapName As String) As MemoryMappedFile
Параметры
- path
- String
Путь к файлу для сопоставления.
- mapName
- String
Имя, присваиваемое отображенному в память файлу, или null
для MemoryMappedFile, которое не будет использоваться совместно с другими процессами.
Возвращаемое значение
Размещенный в памяти файл с заданными именем и режимом доступа.
Исключения
Параметр path
является пустой строкой, содержащей только пробелы либо один или несколько недопустимых знаков, определенных методом GetInvalidFileNameChars().
-или-
path
ссылается на недопустимое устройство.
-или-
Параметр mapName
равен пустой строке.
-или-
mode
имеет значение Append.
path
имеет значение null
.
mode
имеет значение Create, CreateNew или Truncate.
-или-
mode
имеет значение OpenOrCreate и файл отсутствует на диске.
-или-
Ошибка ввода/вывода.
path
превышает максимальную длину, определенную операционной системой.
Вызывающая сторона не имеет необходимых разрешений для файла.
Комментарии
Параметр mode
относится к исходному файлу на диске. Для создания сопоставленного в памяти файла из исходного Open файла на диске можно использовать только значение перечисления.
Применяется к
CreateFromFile(String, FileMode, String, Int64)
- Исходный код:
- MemoryMappedFile.cs
- Исходный код:
- MemoryMappedFile.cs
- Исходный код:
- MemoryMappedFile.cs
Создает из файла на диске размещенный в памяти файл с заданным режимом доступа, именем и емкостью.
public:
static System::IO::MemoryMappedFiles::MemoryMappedFile ^ CreateFromFile(System::String ^ path, System::IO::FileMode mode, System::String ^ mapName, long capacity);
public static System.IO.MemoryMappedFiles.MemoryMappedFile CreateFromFile (string path, System.IO.FileMode mode, string? mapName, long capacity);
public static System.IO.MemoryMappedFiles.MemoryMappedFile CreateFromFile (string path, System.IO.FileMode mode, string mapName, long capacity);
static member CreateFromFile : string * System.IO.FileMode * string * int64 -> System.IO.MemoryMappedFiles.MemoryMappedFile
Public Shared Function CreateFromFile (path As String, mode As FileMode, mapName As String, capacity As Long) As MemoryMappedFile
Параметры
- path
- String
Путь к файлу для сопоставления.
- mapName
- String
Имя, присваиваемое отображенному в память файлу, или null
для MemoryMappedFile, которое не будет использоваться совместно с другими процессами.
- capacity
- Int64
Максимальный размер, выделяемый размещенному в памяти файлу, в байтах. Чтобы задать емкость, равную размеру файла на диске, указывается значение 0.
Возвращаемое значение
Размещенный в памяти файл с заданными характеристиками.
Исключения
Параметр path
является пустой строкой, содержащей только пробелы либо один или несколько недопустимых знаков, определенных методом GetInvalidFileNameChars().
-или-
path
ссылается на недопустимое устройство.
-или-
Параметр mapName
равен пустой строке.
-или-
mode
имеет значение Append.
path
имеет значение null
.
capacity
больше, чем размер логического адресного пространства.
-или-
Значение параметра capacity
меньше нуля.
-или-
capacity
меньше размера файла (но не ноль).
-или-
capacity
— ноль, а размер файла на диске также — ноль.
Ошибка ввода/вывода.
path
превышает максимальную длину, определенную операционной системой.
Вызывающая сторона не имеет необходимых разрешений для файла.
Комментарии
Параметр mode
относится к исходному файлу на диске.
Если capacity
больше размера файла на диске, файл на диске увеличивается до указанной емкости, даже если данные не записываются в файл, сопоставленный в памяти. Чтобы предотвратить это, укажите значение 0 (ноль) для емкости по умолчанию, которая внутренне задает capacity
размер файла на диске.
Применяется к
CreateFromFile(String, FileMode, String, Int64, MemoryMappedFileAccess)
- Исходный код:
- MemoryMappedFile.cs
- Исходный код:
- MemoryMappedFile.cs
- Исходный код:
- MemoryMappedFile.cs
Создает из файла на диске размещенный в памяти файл с указанными режимом доступа, именем, емкостью и типом доступа.
public:
static System::IO::MemoryMappedFiles::MemoryMappedFile ^ CreateFromFile(System::String ^ path, System::IO::FileMode mode, System::String ^ mapName, long capacity, System::IO::MemoryMappedFiles::MemoryMappedFileAccess access);
public static System.IO.MemoryMappedFiles.MemoryMappedFile CreateFromFile (string path, System.IO.FileMode mode, string? mapName, long capacity, System.IO.MemoryMappedFiles.MemoryMappedFileAccess access);
public static System.IO.MemoryMappedFiles.MemoryMappedFile CreateFromFile (string path, System.IO.FileMode mode, string mapName, long capacity, System.IO.MemoryMappedFiles.MemoryMappedFileAccess access);
[System.Security.SecurityCritical]
public static System.IO.MemoryMappedFiles.MemoryMappedFile CreateFromFile (string path, System.IO.FileMode mode, string mapName, long capacity, System.IO.MemoryMappedFiles.MemoryMappedFileAccess access);
static member CreateFromFile : string * System.IO.FileMode * string * int64 * System.IO.MemoryMappedFiles.MemoryMappedFileAccess -> System.IO.MemoryMappedFiles.MemoryMappedFile
[<System.Security.SecurityCritical>]
static member CreateFromFile : string * System.IO.FileMode * string * int64 * System.IO.MemoryMappedFiles.MemoryMappedFileAccess -> System.IO.MemoryMappedFiles.MemoryMappedFile
Public Shared Function CreateFromFile (path As String, mode As FileMode, mapName As String, capacity As Long, access As MemoryMappedFileAccess) As MemoryMappedFile
Параметры
- path
- String
Путь к файлу для сопоставления.
- mapName
- String
Имя, присваиваемое отображенному в память файлу, или null
для MemoryMappedFile, которое не будет использоваться совместно с другими процессами.
- capacity
- Int64
Максимальный размер, выделяемый размещенному в памяти файлу, в байтах. Чтобы задать емкость, равную размеру файла на диске, указывается значение 0.
- access
- MemoryMappedFileAccess
Одно из значений перечисления, определяющее разрешенный тип доступа к размещенному в памяти файлу.
Возвращаемое значение
Размещенный в памяти файл с заданными характеристиками.
- Атрибуты
Исключения
Параметр mapName
равен пустой строке.
-или-
access
не является разрешенным значением.
-или-
path
указывает пустой файл.
-или-
Параметр access
указан как Read, а емкость превышает размер файла, указанного параметром path
.
-или-
mode
имеет значение Append.
path
имеет значение null
.
capacity
больше, чем размер логического адресного пространства.
-или-
Значение параметра capacity
меньше нуля.
-или-
capacity
меньше размера файла (но не ноль).
-или-
capacity
— ноль, а размер файла на диске также — ноль.
-или-
Параметр access
не является определенным значением MemoryMappedFileAccess.
-или-
Размер файла, указанный path
больше capacity
.
path
превышает максимальную длину, определенную операционной системой.
Вызывающая сторона не имеет необходимых разрешений для файла.
Комментарии
Параметр mode
относится к исходному файлу на диске.
Если capacity
размер файла на диске больше, файл на диске увеличивается в соответствии с указанной емкостью, даже если данные не записываются в сопоставленный в памяти файл. Чтобы предотвратить это, укажите значение 0 (ноль) для емкости по умолчанию, которая будет внутренне задавать capacity
размер файла на диске.
См. также раздел
Применяется к
CreateFromFile(SafeFileHandle, String, Int64, MemoryMappedFileAccess, HandleInheritability, Boolean)
- Исходный код:
- MemoryMappedFile.cs
- Исходный код:
- MemoryMappedFile.cs
Создает файл, сопоставленный в памяти, из существующего файла, используя и указанный SafeFileHandle режим доступа, имя, наследуемость и емкость.
public:
static System::IO::MemoryMappedFiles::MemoryMappedFile ^ CreateFromFile(Microsoft::Win32::SafeHandles::SafeFileHandle ^ fileHandle, System::String ^ mapName, long capacity, System::IO::MemoryMappedFiles::MemoryMappedFileAccess access, System::IO::HandleInheritability inheritability, bool leaveOpen);
public static System.IO.MemoryMappedFiles.MemoryMappedFile CreateFromFile (Microsoft.Win32.SafeHandles.SafeFileHandle fileHandle, string? mapName, long capacity, System.IO.MemoryMappedFiles.MemoryMappedFileAccess access, System.IO.HandleInheritability inheritability, bool leaveOpen);
static member CreateFromFile : Microsoft.Win32.SafeHandles.SafeFileHandle * string * int64 * System.IO.MemoryMappedFiles.MemoryMappedFileAccess * System.IO.HandleInheritability * bool -> System.IO.MemoryMappedFiles.MemoryMappedFile
Public Shared Function CreateFromFile (fileHandle As SafeFileHandle, mapName As String, capacity As Long, access As MemoryMappedFileAccess, inheritability As HandleInheritability, leaveOpen As Boolean) As MemoryMappedFile
Параметры
- fileHandle
- SafeFileHandle
Объект SafeFileHandle для существующего файла. Вызывающий объект отвечает за удалениеfileHandle
, если leaveOpen
имеет значение true
(в противном случае автоматически удаляется ).MemoryMappedFile
- mapName
- String
Имя, присваиваемое отображенному в память файлу, или null
для MemoryMappedFile, которое не будет использоваться совместно с другими процессами.
- capacity
- Int64
Максимальный размер, выделяемый размещенному в памяти файлу, в байтах. Укажите значение 0, чтобы задать размер файла.
- access
- MemoryMappedFileAccess
Одно из значений перечисления, определяющее разрешенный тип доступа к размещенному в памяти файлу.
Этому параметру нельзя присвоить Write.
- inheritability
- HandleInheritability
Одно из значений перечисления, определяющее, может ли дескриптор размещенного в памяти файла наследоваться дочерним процессом. Значение по умолчанию — None.
- leaveOpen
- Boolean
Значение типа , указывающее, следует ли закрывать дескриптор исходного файла при удалении MemoryMappedFile .
Возвращаемое значение
Размещенный в памяти файл с заданными характеристиками.
Исключения
Параметр mapName
имеет значение null
или является пустой строкой.
-или-
capacity
и длина файла равны нулю.
-или-
access
параметру задано значение Write, что не допускается.
-или-
access
параметр имеет значение Read и capacity
больше длины файла.
fileHandle
имеет значение null
.
Значение параметра capacity
меньше нуля.
-или-
Значение параметра capacity
меньше, чем размер файла.
-или-
access
не является допустимым значением перечисления MemoryMappedFileAccess.
-или-
inheritability
не является допустимым значением перечисления HandleInheritability.
Применяется к
CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, HandleInheritability, Boolean)
- Исходный код:
- MemoryMappedFile.cs
- Исходный код:
- MemoryMappedFile.cs
- Исходный код:
- MemoryMappedFile.cs
Создает из существующего файла отображенный в память файл с заданными режимом доступа, именем, режимом наследования и емкостью.
public:
static System::IO::MemoryMappedFiles::MemoryMappedFile ^ CreateFromFile(System::IO::FileStream ^ fileStream, System::String ^ mapName, long capacity, System::IO::MemoryMappedFiles::MemoryMappedFileAccess access, System::IO::HandleInheritability inheritability, bool leaveOpen);
public static System.IO.MemoryMappedFiles.MemoryMappedFile CreateFromFile (System.IO.FileStream fileStream, string? mapName, long capacity, System.IO.MemoryMappedFiles.MemoryMappedFileAccess access, System.IO.HandleInheritability inheritability, bool leaveOpen);
public static System.IO.MemoryMappedFiles.MemoryMappedFile CreateFromFile (System.IO.FileStream fileStream, string mapName, long capacity, System.IO.MemoryMappedFiles.MemoryMappedFileAccess access, System.IO.HandleInheritability inheritability, bool leaveOpen);
static member CreateFromFile : System.IO.FileStream * string * int64 * System.IO.MemoryMappedFiles.MemoryMappedFileAccess * System.IO.HandleInheritability * bool -> System.IO.MemoryMappedFiles.MemoryMappedFile
Public Shared Function CreateFromFile (fileStream As FileStream, mapName As String, capacity As Long, access As MemoryMappedFileAccess, inheritability As HandleInheritability, leaveOpen As Boolean) As MemoryMappedFile
Параметры
- fileStream
- FileStream
Поток существующего файла.
- mapName
- String
Имя, присваиваемое отображенному в память файлу, или null
для MemoryMappedFile, которое не будет использоваться совместно с другими процессами.
- capacity
- Int64
Максимальный размер, выделяемый размещенному в памяти файлу, в байтах. Укажите значение 0, чтобы задать размер емкости filestream
.
- access
- MemoryMappedFileAccess
Одно из значений перечисления, определяющее разрешенный тип доступа к размещенному в памяти файлу.
Этому параметру нельзя присвоить Write.
- inheritability
- HandleInheritability
Одно из значений перечисления, определяющее, может ли дескриптор размещенного в памяти файла наследоваться дочерним процессом. Значение по умолчанию — None.
- leaveOpen
- Boolean
Значение, указывающее, нужно ли закрыть исходный поток файла при удалении MemoryMappedFile.
Возвращаемое значение
Размещенный в памяти файл с заданными характеристиками.
Исключения
Параметр mapName
имеет значение null
или является пустой строкой.
-или-
capacity
и длина файла равны нулю.
-или-
access
имеет значение перечисления Write или Write, что запрещено.
-или-
access
имеет значение Read и capacity
больше, чем длина filestream
.
fileStream
имеет значение null
.
Значение параметра capacity
меньше нуля.
-или-
Значение параметра capacity
меньше, чем размер файла.
-или-
access
не является допустимым значением перечисления MemoryMappedFileAccess.
-или-
inheritability
не является допустимым значением перечисления HandleInheritability.
Применяется к
CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, MemoryMappedFileSecurity, HandleInheritability, Boolean)
Создает из файла на диске размещенный в памяти файл с указанными именем, емкостью, типом доступа, разрешениями безопасности, режимом наследования и требованием к ликвидации.
public:
static System::IO::MemoryMappedFiles::MemoryMappedFile ^ CreateFromFile(System::IO::FileStream ^ fileStream, System::String ^ mapName, long capacity, System::IO::MemoryMappedFiles::MemoryMappedFileAccess access, System::IO::MemoryMappedFiles::MemoryMappedFileSecurity ^ memoryMappedFileSecurity, System::IO::HandleInheritability inheritability, bool leaveOpen);
[System.Security.SecurityCritical]
public static System.IO.MemoryMappedFiles.MemoryMappedFile CreateFromFile (System.IO.FileStream fileStream, string mapName, long capacity, System.IO.MemoryMappedFiles.MemoryMappedFileAccess access, System.IO.MemoryMappedFiles.MemoryMappedFileSecurity memoryMappedFileSecurity, System.IO.HandleInheritability inheritability, bool leaveOpen);
[<System.Security.SecurityCritical>]
static member CreateFromFile : System.IO.FileStream * string * int64 * System.IO.MemoryMappedFiles.MemoryMappedFileAccess * System.IO.MemoryMappedFiles.MemoryMappedFileSecurity * System.IO.HandleInheritability * bool -> System.IO.MemoryMappedFiles.MemoryMappedFile
Public Shared Function CreateFromFile (fileStream As FileStream, mapName As String, capacity As Long, access As MemoryMappedFileAccess, memoryMappedFileSecurity As MemoryMappedFileSecurity, inheritability As HandleInheritability, leaveOpen As Boolean) As MemoryMappedFile
Параметры
- fileStream
- FileStream
Поток fileStream
файла для размещения в памяти.
- mapName
- String
Имя, присваиваемое отображенному в память файлу, или null
для MemoryMappedFile, которое не будет использоваться совместно с другими процессами.
- capacity
- Int64
Максимальный размер, выделяемый размещенному в памяти файлу, в байтах. Чтобы задать емкость, равную размеру файла на диске, указывается значение 0.
- access
- MemoryMappedFileAccess
Одно из значений перечисления, определяющее разрешенный тип доступа к размещенному в памяти файлу.
Этому параметру нельзя присвоить Write.
- memoryMappedFileSecurity
- MemoryMappedFileSecurity
Разрешения, которые могут быть предоставлены для доступа к файлам и операций с размещенными в памяти файлами.
Этот параметр может иметь значение null
.
- inheritability
- HandleInheritability
Одно из значений перечисления, определяющее, может ли дескриптор размещенного в памяти файла наследоваться дочерним процессом. Значение по умолчанию — None.
- leaveOpen
- Boolean
Значение true
, чтобы не удалять fileStream
после закрытия MemoryMappedFile; значение false
, чтобы удалить fileStream
.
Возвращаемое значение
Размещенный в памяти файл с заданными характеристиками.
- Атрибуты
Исключения
Параметр mapName
равен пустой строке.
-или-
capacity
и длина файла равны нулю.
-или-
access
имеет значение перечисления Read или Write, что запрещено.
fileStream
имеет значение null
.
Значение параметра capacity
меньше нуля.
-или-
Значение параметра capacity
меньше, чем размер файла.
-или-
access
не является допустимым значением перечисления MemoryMappedFileAccess.
-или-
inheritability
не является допустимым значением перечисления HandleInheritability.
Объект fileStream
был закрыт.
mapName
уже существует.
Комментарии
Если capacity
больше размера файла на диске, файл на диске увеличивается до указанной емкости, даже если данные не записываются в файл, сопоставленный в памяти. Чтобы предотвратить это, укажите значение 0 (ноль) для емкости по умолчанию, которая внутренне задает capacity
размер файла на диске.