MemoryMappedFile.OpenExisting MemoryMappedFile.OpenExisting MemoryMappedFile.OpenExisting MemoryMappedFile.OpenExisting Method

Определение

Открывает существующий именованный размещенный в памяти файл в системной памяти.Opens an existing named memory-mapped file in system memory.

Перегрузки

OpenExisting(String) OpenExisting(String) OpenExisting(String) OpenExisting(String)

Открывает существующий размещенный в памяти файл с заданным именем в системной памяти.Opens an existing memory-mapped file that has the specified name in system memory.

OpenExisting(String, MemoryMappedFileRights) OpenExisting(String, MemoryMappedFileRights) OpenExisting(String, MemoryMappedFileRights) OpenExisting(String, MemoryMappedFileRights)

Открывает существующий размещенный в памяти файл с заданными именем и правами доступа в системной памяти.Opens an existing memory-mapped file that has the specified name and access rights in system memory.

OpenExisting(String, MemoryMappedFileRights, HandleInheritability) OpenExisting(String, MemoryMappedFileRights, HandleInheritability) OpenExisting(String, MemoryMappedFileRights, HandleInheritability) OpenExisting(String, MemoryMappedFileRights, HandleInheritability)

Открывает существующий размещенный в памяти файл с заданными именем, правами доступа и режимом наследования в системной памяти.Opens an existing memory-mapped file that has the specified name, access rights, and inheritability in system memory.

OpenExisting(String) OpenExisting(String) OpenExisting(String) OpenExisting(String)

Открывает существующий размещенный в памяти файл с заданным именем в системной памяти.Opens an existing memory-mapped file that has the specified name in system memory.

public:
 static System::IO::MemoryMappedFiles::MemoryMappedFile ^ OpenExisting(System::String ^ mapName);
public static System.IO.MemoryMappedFiles.MemoryMappedFile OpenExisting (string mapName);
static member OpenExisting : string -> System.IO.MemoryMappedFiles.MemoryMappedFile
Public Shared Function OpenExisting (mapName As String) As MemoryMappedFile

Параметры

mapName
String String String String

Имя отображенного в память файла.The name of the memory-mapped file.

Возвраты

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

Исключения

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

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

Файл, заданный для mapName, не существует.The file specified for mapName does not exist.

Примеры

Открытие сохраненного сопоставленного в памяти файлаOpening a Persisted Memory-Mapped File

В следующем примере открывается размещенный в памяти файл с ImgA именем, который уже был создан из файла на диске (как показано в примере CreateFromFile(String) для метода).The following example opens a memory-mapped file named ImgA that has already been created from a file on disk (as shown in the example for the CreateFromFile(String) method).

using System;
using System.IO.MemoryMappedFiles;
using System.Runtime.InteropServices;


class Program
{
    static void Main(string[] args)
    {
        // Assumes another process has created the memory-mapped file.
        using (var mmf = MemoryMappedFile.OpenExisting("ImgA"))
        {
            using (var accessor = mmf.CreateViewAccessor(4000000, 2000000))
            {
                int colorSize = Marshal.SizeOf(typeof(MyColor));
                MyColor color;

                // Make changes to the view.
                for (long i = 0; i < 1500000; i += colorSize)
                {
                    accessor.Read(i, out color);
                    color.Brighten(20);
                    accessor.Write(i, ref color);
                }
            }
        }
    }
}

public struct MyColor
{
    public short Red;
    public short Green;
    public short Blue;
    public short Alpha;

    // Make the view brigher.
    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
Imports System.IO.MemoryMappedFiles
Imports System.Runtime.InteropServices

Class Program
    Public Shared Sub Main(ByVal args As String())
        ' Assumes another process has created the memory-mapped file.
        Using mmf = MemoryMappedFile.OpenExisting("ImgA")
            Using accessor = mmf.CreateViewAccessor(4000000, 2000000)
                Dim colorSize As Integer = Marshal.SizeOf(GetType(MyColor))
                Dim color As MyColor

                ' Make changes to the view.
                Dim i As Long = 0
                While i < 1500000
                    accessor.Read(i, color)
                    color.Brighten(30)
                    accessor.Write(i, color)
                    i += colorSize
                End While
            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 brigher.
    Public Sub Brighten(ByVal value As Short)
        Red = CShort(Math.Min(Short.MaxValue, CInt(Red) + value))
        Green = CShort(Math.Min(Short.MaxValue, CInt(Green) + value))
        Blue = CShort(Math.Min(Short.MaxValue, CInt(Blue) + value))
        Alpha = CShort(Math.Min(Short.MaxValue, CInt(Alpha) + value))
    End Sub
End Structure

Открытие непостоянного отображенного в память файлаOpening a Non-Persisted Memory-Mapped File

В следующем примере открывается размещенный в памяти файл, используемый для межпроцессного взаимодействия.The following example opens a memory-mapped file used for inter-process communication. Этот пример кода является частью большого примера, CreateNew(String, Int64) приведенного для метода.This code example is part of a larger example provided for the CreateNew(String, Int64) method.

Комментарии

Размещенный в памяти файл может быть либо материализованным отображенным в память файлом (связанным с файлом на диске), либо несохраняемым.The memory-mapped file can be either a persisted memory-mapped file (associated with a file on disk) or non-persisted.

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

OpenExisting(String, MemoryMappedFileRights) OpenExisting(String, MemoryMappedFileRights) OpenExisting(String, MemoryMappedFileRights) OpenExisting(String, MemoryMappedFileRights)

Открывает существующий размещенный в памяти файл с заданными именем и правами доступа в системной памяти.Opens an existing memory-mapped file that has the specified name and access rights in system memory.

public:
 static System::IO::MemoryMappedFiles::MemoryMappedFile ^ OpenExisting(System::String ^ mapName, System::IO::MemoryMappedFiles::MemoryMappedFileRights desiredAccessRights);
public static System.IO.MemoryMappedFiles.MemoryMappedFile OpenExisting (string mapName, System.IO.MemoryMappedFiles.MemoryMappedFileRights desiredAccessRights);
static member OpenExisting : string * System.IO.MemoryMappedFiles.MemoryMappedFileRights -> System.IO.MemoryMappedFiles.MemoryMappedFile
Public Shared Function OpenExisting (mapName As String, desiredAccessRights As MemoryMappedFileRights) As MemoryMappedFile

Параметры

mapName
String String String String

Имя размещенного в памяти файла, который необходимо открыть.The name of the memory-mapped file to open.

desiredAccessRights
MemoryMappedFileRights MemoryMappedFileRights MemoryMappedFileRights MemoryMappedFileRights

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

Возвраты

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

Исключения

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

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

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

Файл, заданный для mapName, не существует.The file specified for mapName does not exist.

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

OpenExisting(String, MemoryMappedFileRights, HandleInheritability) OpenExisting(String, MemoryMappedFileRights, HandleInheritability) OpenExisting(String, MemoryMappedFileRights, HandleInheritability) OpenExisting(String, MemoryMappedFileRights, HandleInheritability)

Открывает существующий размещенный в памяти файл с заданными именем, правами доступа и режимом наследования в системной памяти.Opens an existing memory-mapped file that has the specified name, access rights, and inheritability in system memory.

public:
 static System::IO::MemoryMappedFiles::MemoryMappedFile ^ OpenExisting(System::String ^ mapName, System::IO::MemoryMappedFiles::MemoryMappedFileRights desiredAccessRights, System::IO::HandleInheritability inheritability);
[System.Security.SecurityCritical]
public static System.IO.MemoryMappedFiles.MemoryMappedFile OpenExisting (string mapName, System.IO.MemoryMappedFiles.MemoryMappedFileRights desiredAccessRights, System.IO.HandleInheritability inheritability);
static member OpenExisting : string * System.IO.MemoryMappedFiles.MemoryMappedFileRights * System.IO.HandleInheritability -> System.IO.MemoryMappedFiles.MemoryMappedFile
Public Shared Function OpenExisting (mapName As String, desiredAccessRights As MemoryMappedFileRights, inheritability As HandleInheritability) As MemoryMappedFile

Параметры

mapName
String String String String

Имя размещенного в памяти файла, который необходимо открыть.The name of the memory-mapped file to open.

desiredAccessRights
MemoryMappedFileRights MemoryMappedFileRights MemoryMappedFileRights MemoryMappedFileRights

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

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.

Возвраты

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

Исключения

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

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

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

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

Запрошенный доступ недопустимый для файла отображения памяти.The requested access is invalid for the memory-mapped file.

Файл, заданный для mapName, не существует.The file specified for mapName does not exist.

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

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

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

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