Поделиться через


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

Путь к файлу для сопоставления.

mode
FileMode

Режим доступа; должен иметь тип Open.

Возвращаемое значение

Размещенный в памяти файл с заданным режимом доступа.

Исключения

Параметр 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

Путь к файлу для сопоставления.

mode
FileMode

Режим доступа; должен иметь тип Open.

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

Путь к файлу для сопоставления.

mode
FileMode

Режим доступа; может иметь любое значение перечисления FileMode, кроме Append.

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

Путь к файлу для сопоставления.

mode
FileMode

Режим доступа; может иметь любое значение перечисления FileMode, кроме Append.

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 был закрыт.

access получает значение ReadWrite, когда доступ fileStream имеет значение Read или Write.

mapName уже существует.

Комментарии

Если capacity больше размера файла на диске, файл на диске увеличивается до указанной емкости, даже если данные не записываются в файл, сопоставленный в памяти. Чтобы предотвратить это, укажите значение 0 (ноль) для емкости по умолчанию, которая внутренне задает capacity размер файла на диске.

См. также раздел

Применяется к