MemoryMappedFile.CreateFromFile MemoryMappedFile.CreateFromFile MemoryMappedFile.CreateFromFile MemoryMappedFile.CreateFromFile Method

Определение

Создает размещенный в памяти файл из существующего файла.Creates a memory-mapped file from an existing file.

Перегрузки

CreateFromFile(String) CreateFromFile(String) CreateFromFile(String) CreateFromFile(String)

Создает размещенный в памяти файл из файла на диске.Creates a memory-mapped file from a file on disk.

CreateFromFile(String, FileMode) CreateFromFile(String, FileMode) CreateFromFile(String, FileMode) CreateFromFile(String, FileMode)

Создает из файла на диске размещенный в памяти файл с заданным режимом доступа.Creates a memory-mapped file that has the specified access mode from a file on disk.

CreateFromFile(String, FileMode, String) CreateFromFile(String, FileMode, String) CreateFromFile(String, FileMode, String) CreateFromFile(String, FileMode, String)

Создает из файла на диске размещенный в памяти файл с заданным режимом доступа и именем.Creates a memory-mapped file that has the specified access mode and name from a file on disk.

CreateFromFile(String, FileMode, String, Int64) CreateFromFile(String, FileMode, String, Int64) CreateFromFile(String, FileMode, String, Int64) CreateFromFile(String, FileMode, String, Int64)

Создает из файла на диске размещенный в памяти файл с заданным режимом доступа, именем и емкостью.Creates a memory-mapped file that has the specified access mode, name, and capacity from a file on disk.

CreateFromFile(String, FileMode, String, Int64, MemoryMappedFileAccess) CreateFromFile(String, FileMode, String, Int64, MemoryMappedFileAccess) CreateFromFile(String, FileMode, String, Int64, MemoryMappedFileAccess) CreateFromFile(String, FileMode, String, Int64, MemoryMappedFileAccess)

Создает из файла на диске размещенный в памяти файл с указанными режимом доступа, именем, емкостью и типом доступа.Creates a memory-mapped file that has the specified access mode, name, capacity, and access type from a file on disk.

CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, HandleInheritability, Boolean) CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, HandleInheritability, Boolean) CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, HandleInheritability, Boolean)

Создает из существующего файла отображенный в память файл с заданными режимом доступа, именем, режимом наследования и емкостью.Creates a memory-mapped file from an existing file with the specified access mode, name, inheritability, and capacity.

CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, MemoryMappedFileSecurity, HandleInheritability, Boolean) CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, MemoryMappedFileSecurity, HandleInheritability, Boolean) CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, MemoryMappedFileSecurity, HandleInheritability, Boolean)

Создает из файла на диске размещенный в памяти файл с указанными именем, емкостью, типом доступа, разрешениями безопасности, режимом наследования и требованием к ликвидации.Creates a memory-mapped file that has the specified name, capacity, access type, security permissions, inheritability, and disposal requirement from a file on disk.

CreateFromFile(String) CreateFromFile(String) CreateFromFile(String) CreateFromFile(String)

Создает размещенный в памяти файл из файла на диске.Creates a memory-mapped file from a file on disk.

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

Путь к файлу для сопоставления.The path to file to map.

Возвраты

Размещенный в памяти файл.A memory-mapped file.

Исключения

Параметр path является пустой строкой, содержащей только пробелы либо один или несколько недопустимых знаков, определенных методом GetInvalidFileNameChars().path is an empty string, contains only white space, or has one or more invalid characters, as defined by the GetInvalidFileNameChars() method.

- или --or- path ссылается на недопустимое устройство.path refers to an invalid device.

Свойство path имеет значение null.path is null.

Ошибка ввода/вывода.An I/O error occurred.

path превышает максимальную длину, определенную операционной системой.path exceeds the maximum length defined by the operating system.

Вызывающая сторона не имеет необходимых разрешений для файла.The caller does not have the required permissions for the file.

Примеры

В следующем примере используется CreateFromFile метод для создания размещенного в памяти файла, после чего создается представление, сопоставленное с памятью, в части чрезвычайно большого файла.The following example uses the CreateFromFile method to create a memory-mapped file, and then creates a memory-mapped view to a portion of an extremely large file.

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) CreateFromFile(String, FileMode) CreateFromFile(String, FileMode) CreateFromFile(String, FileMode)

Создает из файла на диске размещенный в памяти файл с заданным режимом доступа.Creates a memory-mapped file that has the specified access mode from a file on disk.

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

Путь к файлу для сопоставления.The path to the file to map.

mode
FileMode FileMode FileMode FileMode

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

Возвраты

Размещенный в памяти файл с заданным режимом доступа.A memory-mapped file that has the specified access mode.

Исключения

Параметр path является пустой строкой, содержащей только пробелы либо один или несколько недопустимых знаков, определенных методом GetInvalidFileNameChars().path is an empty string, contains only white space, or has one or more invalid characters, as defined by the GetInvalidFileNameChars() method.

-или--or- path ссылается на недопустимое устройство.path refers to an invalid device.

- или --or- Свойство mode имеет значение Append.mode is Append.

Свойство path имеет значение null.path is null.

mode имеет значение Create, CreateNew или Truncate.mode is Create, CreateNew, or Truncate.

- или --or- mode имеет значение OpenOrCreate и файл отсутствует на диске.mode is OpenOrCreate and the file on disk does not exist.

- или --or- Ошибка ввода/вывода.An I/O error occurred.

path превышает максимальную длину, определенную операционной системой.path exceeds the maximum length defined by the operating system.

Вызывающая сторона не имеет необходимых разрешений для файла.The caller does not have the required permissions for the file.

Комментарии

mode Параметр относится к исходному файлу на диске.The mode parameter pertains to the source file on disk. Для создания сопоставленного Open в память файла из исходного файла на диске можно использовать только значение перечисления.You can use only the Open enumeration value to create the memory-mapped file from the source file on disk.

Дополнительно

CreateFromFile(String, FileMode, String) CreateFromFile(String, FileMode, String) CreateFromFile(String, FileMode, String) CreateFromFile(String, FileMode, String)

Создает из файла на диске размещенный в памяти файл с заданным режимом доступа и именем.Creates a memory-mapped file that has the specified access mode and name from a file on disk.

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);
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 String String String

Путь к файлу для сопоставления.The path to the file to map.

mode
FileMode FileMode FileMode FileMode

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

mapName
String String String String

Имя, присваиваемое отображенному в память файлу, или null для MemoryMappedFile, которое не будет использоваться совместно с другими процессами.A name to assign to the memory-mapped file, or null for a MemoryMappedFile that you do not intend to share across processes.

Возвраты

Размещенный в памяти файл с заданными именем и режимом доступа.A memory-mapped file that has the specified name and access mode.

Исключения

Параметр path является пустой строкой, содержащей только пробелы либо один или несколько недопустимых знаков, определенных методом GetInvalidFileNameChars().path is an empty string, contains only white space, or has one or more invalid characters, as defined by the GetInvalidFileNameChars() method.

-или--or- path ссылается на недопустимое устройство.path refers to an invalid device.

- или --or- Параметр mapName равен пустой строке.mapName is an empty string.

- или --or- modeAppend.mode is Append.

Свойство path имеет значение null.path is null.

mode имеет значение Create, CreateNew или Truncate.mode is Create, CreateNew, or Truncate.

-или--or- mode имеет значение OpenOrCreate и файл отсутствует на диске.mode is OpenOrCreate and the file on disk does not exist.

- или --or- Ошибка ввода/вывода.An I/O error occurred.

path превышает максимальную длину, определенную операционной системой.path exceeds the maximum length defined by the operating system.

Вызывающая сторона не имеет необходимых разрешений для файла.The caller does not have the required permissions for the file.

Комментарии

mode Параметр относится к исходному файлу на диске.The mode parameter pertains to the source file on disk. Для создания сопоставленного Open в память файла из исходного файла на диске можно использовать только значение перечисления.You can use only the Open enumeration value to create the memory-mapped file from the source file on disk.

CreateFromFile(String, FileMode, String, Int64) CreateFromFile(String, FileMode, String, Int64) CreateFromFile(String, FileMode, String, Int64) CreateFromFile(String, FileMode, String, Int64)

Создает из файла на диске размещенный в памяти файл с заданным режимом доступа, именем и емкостью.Creates a memory-mapped file that has the specified access mode, name, and capacity from a file on disk.

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);
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 String String String

Путь к файлу для сопоставления.The path to the file to map.

mode
FileMode FileMode FileMode FileMode

Режим доступа; может иметь любое значение перечисления FileMode, кроме Append.Access mode; can be any of the FileMode enumeration values except Append.

mapName
String String String String

Имя, присваиваемое отображенному в память файлу, или null для MemoryMappedFile, которое не будет использоваться совместно с другими процессами.A name to assign to the memory-mapped file, or null for a MemoryMappedFile that you do not intend to share across processes.

capacity
Int64 Int64 Int64 Int64

Максимальный размер, выделяемый размещенному в памяти файлу, в байтах.The maximum size, in bytes, to allocate to the memory-mapped file. Чтобы задать емкость равную размеру файла на диске, указывается значение 0.Specify 0 to set the capacity to the size of the file on disk.

Возвраты

Размещенный в памяти файл с заданными характеристиками.A memory-mapped file that has the specified characteristics.

Исключения

Параметр path является пустой строкой, содержащей только пробелы либо один или несколько недопустимых знаков, определенных методом GetInvalidFileNameChars().path is an empty string, contains only white space, or has one or more invalid characters, as defined by the GetInvalidFileNameChars() method.

- или --or- path ссылается на недопустимое устройство.path refers to an invalid device.

-или--or- Параметр mapName равен пустой строке.mapName is an empty string.

- или --or- Свойство mode имеет значение Append.mode is Append.

Свойство path имеет значение null.path is null.

capacity больше, чем размер логического адресного пространства.capacity is greater than the size of the logical address space.

- или --or- Значение параметра capacity меньше нуля.capacity is less than zero.

- или --or- capacity меньше размера файла (но не ноль).capacity is less than the file size (but not zero).

- или --or- capacity — ноль, а размер файла на диске также — ноль.capacity is zero, and the size of the file on disk is also zero.

Ошибка ввода/вывода.An I/O error occurred.

path превышает максимальную длину, определенную операционной системой.path exceeds the maximum length defined by the operating system.

Вызывающая сторона не имеет необходимых разрешений для файла.The caller does not have the required permissions for the file.

Комментарии

mode Параметр относится к исходному файлу на диске.The mode parameter pertains to the source file on disk.

Если capacity значение превышает размер файла на диске, файл на диске увеличивается в соответствии с заданной емкостью, даже если в отображенном в памяти файле не записано никаких данных.If capacity is larger than the size of the file on disk, the file on disk is increased to match the specified capacity even if no data is written to the memory-mapped file. Чтобы предотвратить это, укажите 0 (нуль) для емкости по умолчанию, которая будет внутренне устанавливать capacity размер файла на диске.To prevent this from occurring, specify 0 (zero) for the default capacity, which will internally set capacity to the size of the file on disk.

CreateFromFile(String, FileMode, String, Int64, MemoryMappedFileAccess) CreateFromFile(String, FileMode, String, Int64, MemoryMappedFileAccess) CreateFromFile(String, FileMode, String, Int64, MemoryMappedFileAccess) CreateFromFile(String, FileMode, String, Int64, MemoryMappedFileAccess)

Создает из файла на диске размещенный в памяти файл с указанными режимом доступа, именем, емкостью и типом доступа.Creates a memory-mapped file that has the specified access mode, name, capacity, and access type from a file on disk.

public:
 static System::IO::MemoryMappedFiles::MemoryMappedFile ^ CreateFromFile(System::String ^ path, System::IO::FileMode mode, System::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
Public Shared Function CreateFromFile (path As String, mode As FileMode, mapName As String, capacity As Long, access As MemoryMappedFileAccess) As MemoryMappedFile

Параметры

path
String String String String

Путь к файлу для сопоставления.The path to the file to map.

mode
FileMode FileMode FileMode FileMode

Режим доступа; может иметь любое значение перечисления FileMode, кроме Append.Access mode; can be any of the FileMode enumeration values except Append.

mapName
String String String String

Имя, присваиваемое отображенному в память файлу, или null для MemoryMappedFile, которое не будет использоваться совместно с другими процессами.A name to assign to the memory-mapped file, or null for a MemoryMappedFile that you do not intend to share across processes.

capacity
Int64 Int64 Int64 Int64

Максимальный размер, выделяемый размещенному в памяти файлу, в байтах.The maximum size, in bytes, to allocate to the memory-mapped file. Чтобы задать емкость равную размеру файла на диске, указывается значение 0.Specify 0 to set the capacity to the size of the file on disk.

access
MemoryMappedFileAccess MemoryMappedFileAccess MemoryMappedFileAccess MemoryMappedFileAccess

Одно из значений перечисления, определяющее разрешенный тип доступа к размещенному в памяти файлу.One of the enumeration values that specifies the type of access allowed to the memory-mapped file.

Возвраты

Размещенный в памяти файл с заданными характеристиками.A memory-mapped file that has the specified characteristics.

Исключения

Параметр mapName равен пустой строке.mapName is an empty string.

-или--or- access не является разрешенным значением.access is not an allowed value.

-или--or- path указывает пустой файл.path specifies an empty file.

- или --or- Параметр access указан как Read, а емкость превышает размер файла, указанного параметром path.access is specified as Read and capacity is greater than the size of the file indicated by path.

- или --or- modeAppend.mode is Append.

capacity больше, чем размер логического адресного пространства.capacity is greater than the size of the logical address space.

- или --or- Значение параметра capacity меньше нуля.capacity is less than zero.

- или --or- capacity меньше размера файла (но не ноль).capacity is less than the file size (but not zero).

-или--or- capacity — ноль, а размер файла на диске также — ноль.capacity is zero, and the size of the file on disk is also zero.

- или --or- Параметр access не является определенным значением MemoryMappedFileAccess.access is not a defined MemoryMappedFileAccess value.

- или --or- Размер файла, указанный path больше capacity.The size of the file indicated by path is greater than capacity.

- или --or-

Ошибка ввода/вывода.An I/O error occurred.

path превышает максимальную длину, определенную операционной системой.path exceeds the maximum length defined by the operating system.

Вызывающая сторона не имеет необходимых разрешений для файла.The caller does not have the required permissions for the file.

Комментарии

mode Параметр относится к исходному файлу на диске.The mode parameter pertains to the source file on disk.

Если capacity значение превышает размер файла на диске, файл на диске увеличивается в соответствии с заданной емкостью, даже если в отображенном в памяти файле не записано никаких данных.If capacity is larger than the size of the file on disk, the file on disk is increased to match the specified capacity even if no data is written to the memory-mapped file. Чтобы предотвратить это, укажите 0 (нуль) для емкости по умолчанию, которая будет внутренне устанавливать capacity размер файла на диске.To prevent this from occurring, specify 0 (zero) for the default capacity, which will internally set capacity to the size of the file on disk.

Безопасность

SecurityPermission
для доступа к неуправляемому коду.for access to unmanaged code. Связанное перечисление: UnmanagedCode.Associated enumeration: UnmanagedCode.

Дополнительно

CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, HandleInheritability, Boolean) CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, HandleInheritability, Boolean) CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, HandleInheritability, Boolean)

Создает из существующего файла отображенный в память файл с заданными режимом доступа, именем, режимом наследования и емкостью.Creates a memory-mapped file from an existing file with the specified access mode, name, inheritability, and capacity.

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);
static member CreateFromFile : System.IO.FileStream * string * int64 * System.IO.MemoryMappedFiles.MemoryMappedFileAccess * System.IO.HandleInheritability * bool -> System.IO.MemoryMappedFiles.MemoryMappedFile

Параметры

fileStream
FileStream FileStream FileStream FileStream

Поток существующего файла.The file stream of the existing file.

mapName
String String String String

Имя, присваиваемое отображенному в память файлу, или null для MemoryMappedFile, которое не будет использоваться совместно с другими процессами.A name to assign to the memory-mapped file, or null for a MemoryMappedFile that you do not intend to share across processes.

capacity
Int64 Int64 Int64 Int64

Максимальный размер, выделяемый размещенному в памяти файлу, в байтах.The maximum size, in bytes, to allocate to the memory-mapped file. Чтобы задать емкость, равную размеру filestream, укажите значение 0.Specify 0 to set the capacity to the size of filestream.

access
MemoryMappedFileAccess MemoryMappedFileAccess MemoryMappedFileAccess MemoryMappedFileAccess

Одно из значений перечисления, определяющее разрешенный тип доступа к размещенному в памяти файлу.One of the enumeration values that specifies the type of access allowed to the memory-mapped file.

Этому параметру нельзя присвоить Write.This parameter can't be set to Write.

inheritability
HandleInheritability HandleInheritability HandleInheritability HandleInheritability

Одно из значений перечисления, определяющее, может ли дескриптор размещенного в памяти файла наследоваться дочерним процессом.One of the enumeration values that specifies whether a handle to the memory-mapped file can be inherited by a child process. Значение по умолчанию — None.The default is None.

leaveOpen
Boolean Boolean Boolean Boolean

Значение, указывающее, нужно ли закрыть исходный поток файла при удалении MemoryMappedFile.A value that indicates whether to close the source file stream when the MemoryMappedFile is disposed.

Возвраты

Размещенный в памяти файл с заданными характеристиками.A memory-mapped file that has the specified characteristics.

Исключения

Параметр mapName имеет значение null или является пустой строкой.mapName is null or an empty string.

- или --or- capacity и длина файла равны нулю.capacity and the length of the file are zero.

- или --or- access имеет значение перечисления Write или Write, что запрещено.access is set to Write or Write enumeration value, which is not allowed.

- или --or- access имеет значение Read и capacity больше, чем длина filestream.access is set to Read and capacity is larger than the length of filestream.

Свойство fileStream имеет значение null.fileStream is null.

Значение параметра capacity меньше нуля.capacity is less than zero.

- или --or- Значение параметра capacity меньше, чем размер файла.capacity is less than the file size.

- или --or- access не является допустимым значением перечисления MemoryMappedFileAccess.access is not a valid MemoryMappedFileAccess enumeration value.

- или --or- inheritability не является допустимым значением перечисления HandleInheritability.inheritability is not a valid HandleInheritability enumeration value.

CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, MemoryMappedFileSecurity, HandleInheritability, Boolean) CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, MemoryMappedFileSecurity, HandleInheritability, Boolean) CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, MemoryMappedFileSecurity, HandleInheritability, Boolean)

Создает из файла на диске размещенный в памяти файл с указанными именем, емкостью, типом доступа, разрешениями безопасности, режимом наследования и требованием к ликвидации.Creates a memory-mapped file that has the specified name, capacity, access type, security permissions, inheritability, and disposal requirement from a file on disk.

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);
static member CreateFromFile : System.IO.FileStream * string * int64 * System.IO.MemoryMappedFiles.MemoryMappedFileAccess * System.IO.MemoryMappedFiles.MemoryMappedFileSecurity * System.IO.HandleInheritability * bool -> System.IO.MemoryMappedFiles.MemoryMappedFile

Параметры

fileStream
FileStream FileStream FileStream FileStream

Поток fileStream файла для размещения в памяти.The fileStream to the file to map.

mapName
String String String String

Имя, присваиваемое отображенному в память файлу, или null для MemoryMappedFile, которое не будет использоваться совместно с другими процессами.A name to assign to the memory-mapped file, or null for a MemoryMappedFile that you do not intend to share across processes.

capacity
Int64 Int64 Int64 Int64

Максимальный размер, выделяемый размещенному в памяти файлу, в байтах.The maximum size, in bytes, to allocate to the memory-mapped file. Чтобы задать емкость равную размеру файла на диске, указывается значение 0.Specify 0 to set the capacity to the size of the file on disk.

access
MemoryMappedFileAccess MemoryMappedFileAccess MemoryMappedFileAccess MemoryMappedFileAccess

Одно из значений перечисления, определяющее разрешенный тип доступа к размещенному в памяти файлу.One of the enumeration values that specifies the type of access allowed to the memory-mapped file.

Этому параметру нельзя присвоить Write.This parameter can't be set to Write.

memoryMappedFileSecurity
MemoryMappedFileSecurity MemoryMappedFileSecurity MemoryMappedFileSecurity MemoryMappedFileSecurity

Разрешения, которые могут быть предоставлены для доступа к файлам и операций с размещенными в памяти файлами.The permissions that can be granted for file access and operations on memory-mapped files.

Этот параметр может иметь значение null.This parameter can be null.

inheritability
HandleInheritability HandleInheritability HandleInheritability HandleInheritability

Одно из значений перечисления, определяющее, может ли дескриптор размещенного в памяти файла наследоваться дочерним процессом.One of the enumeration values that specifies whether a handle to the memory-mapped file can be inherited by a child process. Значение по умолчанию — None.The default is None.

leaveOpen
Boolean Boolean Boolean Boolean

Значение true, чтобы не удалять fileStream после закрытия MemoryMappedFile; значение false, чтобы удалить fileStream.true to not dispose fileStream after the MemoryMappedFile is closed; false to dispose fileStream.

Возвраты

Размещенный в памяти файл с заданными характеристиками.A memory-mapped file that has the specified characteristics.

Исключения

Параметр mapName равен пустой строке.mapName is an empty string.

- или --or- capacity и длина файла равны нулю.capacity and the length of the file are zero.

-или--or- access имеет значение перечисления Read или Write, что запрещено.access is set to the Read or Write enumeration value, which is not allowed.

Свойство fileStream имеет значение null.fileStream is null.

Значение параметра capacity меньше нуля.capacity is less than zero.

- или --or- Значение параметра capacity меньше, чем размер файла.capacity is less than the file size.

- или --or- access не является допустимым значением перечисления MemoryMappedFileAccess.access is not a valid MemoryMappedFileAccess enumeration value.

- или --or- inheritability не является допустимым значением перечисления HandleInheritability.inheritability is not a valid HandleInheritability enumeration value.

Объект fileStream был закрыт.fileStream was closed.

access получает значение ReadWrite, когда доступ fileStream имеет значение Read или Write.access is set to ReadWrite when fileStream's access is set to Read or Write.

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

Комментарии

Если capacity значение превышает размер файла на диске, файл на диске увеличивается в соответствии с заданной емкостью, даже если в отображенном в памяти файле не записано никаких данных.If capacity is larger than the size of the file on disk, the file on disk is increased to match the specified capacity even if no data is written to the memory-mapped file. Чтобы предотвратить это, укажите 0 (нуль) для емкости по умолчанию, которая будет внутренне устанавливать capacity размер файла на диске.To prevent this from occurring, specify 0 (zero) for the default capacity, which will internally set capacity to the size of the file on disk.

Безопасность

SecurityPermission
для доступа к неуправляемому коду.for access to unmanaged code. Связанное перечисление: UnmanagedCode.Associated enumeration: UnmanagedCode.

Дополнительно

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