MemoryMappedFile.OpenExisting Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Открывает существующий именованный файл, сопоставленный с памятью в системной памяти.
Перегрузки
| Имя | Описание |
|---|---|
| OpenExisting(String) |
Открывает существующий сопоставленный с памятью файл с указанным именем в системной памяти. |
| OpenExisting(String, MemoryMappedFileRights) |
Открывает существующий сопоставленный с памятью файл с указанным именем и правами доступа в системной памяти. |
| OpenExisting(String, MemoryMappedFileRights, HandleInheritability) |
Открывает существующий сопоставленный с памятью файл с указанным именем, правами доступа и наследованием в системной памяти. |
OpenExisting(String)
- Исходный код:
- MemoryMappedFile.cs
- Исходный код:
- MemoryMappedFile.cs
- Исходный код:
- MemoryMappedFile.cs
- Исходный код:
- MemoryMappedFile.cs
- Исходный код:
- MemoryMappedFile.cs
Открывает существующий сопоставленный с памятью файл с указанным именем в системной памяти.
public:
static System::IO::MemoryMappedFiles::MemoryMappedFile ^ OpenExisting(System::String ^ mapName);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static System.IO.MemoryMappedFiles.MemoryMappedFile OpenExisting(string mapName);
public static System.IO.MemoryMappedFiles.MemoryMappedFile OpenExisting(string mapName);
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member OpenExisting : string -> System.IO.MemoryMappedFiles.MemoryMappedFile
static member OpenExisting : string -> System.IO.MemoryMappedFiles.MemoryMappedFile
Public Shared Function OpenExisting (mapName As String) As MemoryMappedFile
Параметры
- mapName
- String
Имя сопоставленного с памятью файла.
Возвращаемое значение
Сопоставленный с памятью файл с указанным именем.
- Атрибуты
Исключения
mapName равно null.
mapName — пустая строка.
Указанный файл mapName не существует.
Примеры
Открытие сохраненного файла Memory-Mapped
В следующем примере открывается сопоставленный с памятью файл с именем ImgA , который уже создан из файла на диске (как показано в примере CreateFromFile(String) для метода).
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.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
Открытие не сохраняемого файла Memory-Mapped
В следующем примере открывается сопоставленный с памятью файл, используемый для взаимодействия между процессами. Этот пример кода является частью более крупного примера, предоставленного CreateNew(String, Int64) для метода.
Комментарии
Сопоставленный с памятью файл может быть сохраненным файлом, сопоставленным с памятью (связанный с файлом на диске) или не сохраняемый.
См. также раздел
Применяется к
OpenExisting(String, MemoryMappedFileRights)
- Исходный код:
- MemoryMappedFile.cs
- Исходный код:
- MemoryMappedFile.cs
- Исходный код:
- MemoryMappedFile.cs
- Исходный код:
- MemoryMappedFile.cs
- Исходный код:
- MemoryMappedFile.cs
Открывает существующий сопоставленный с памятью файл с указанным именем и правами доступа в системной памяти.
public:
static System::IO::MemoryMappedFiles::MemoryMappedFile ^ OpenExisting(System::String ^ mapName, System::IO::MemoryMappedFiles::MemoryMappedFileRights desiredAccessRights);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static System.IO.MemoryMappedFiles.MemoryMappedFile OpenExisting(string mapName, System.IO.MemoryMappedFiles.MemoryMappedFileRights desiredAccessRights);
public static System.IO.MemoryMappedFiles.MemoryMappedFile OpenExisting(string mapName, System.IO.MemoryMappedFiles.MemoryMappedFileRights desiredAccessRights);
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member OpenExisting : string * System.IO.MemoryMappedFiles.MemoryMappedFileRights -> System.IO.MemoryMappedFiles.MemoryMappedFile
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
Имя открытого файла, сопоставленного с памятью.
- desiredAccessRights
- MemoryMappedFileRights
Одно из значений перечисления, указывающее права доступа для применения к сопоставленным в памяти файлом.
Возвращаемое значение
Сопоставленный с памятью файл с указанными характеристиками.
- Атрибуты
Исключения
mapName равно null.
mapName — пустая строка.
desiredAccessRights не является допустимым MemoryMappedFileRights значением перечисления.
Указанный файл mapName не существует.
См. также раздел
Применяется к
OpenExisting(String, MemoryMappedFileRights, HandleInheritability)
- Исходный код:
- MemoryMappedFile.cs
- Исходный код:
- MemoryMappedFile.cs
- Исходный код:
- MemoryMappedFile.cs
- Исходный код:
- MemoryMappedFile.cs
- Исходный код:
- MemoryMappedFile.cs
Открывает существующий сопоставленный с памятью файл с указанным именем, правами доступа и наследованием в системной памяти.
public:
static System::IO::MemoryMappedFiles::MemoryMappedFile ^ OpenExisting(System::String ^ mapName, System::IO::MemoryMappedFiles::MemoryMappedFileRights desiredAccessRights, System::IO::HandleInheritability inheritability);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static System.IO.MemoryMappedFiles.MemoryMappedFile OpenExisting(string mapName, System.IO.MemoryMappedFiles.MemoryMappedFileRights desiredAccessRights, System.IO.HandleInheritability inheritability);
public static System.IO.MemoryMappedFiles.MemoryMappedFile OpenExisting(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);
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member OpenExisting : string * System.IO.MemoryMappedFiles.MemoryMappedFileRights * System.IO.HandleInheritability -> System.IO.MemoryMappedFiles.MemoryMappedFile
static member OpenExisting : string * System.IO.MemoryMappedFiles.MemoryMappedFileRights * System.IO.HandleInheritability -> System.IO.MemoryMappedFiles.MemoryMappedFile
[<System.Security.SecurityCritical>]
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
Имя открытого файла, сопоставленного с памятью.
- desiredAccessRights
- MemoryMappedFileRights
Одно из значений перечисления, указывающее права доступа для применения к сопоставленным в памяти файлом.
- inheritability
- HandleInheritability
Одно из значений перечисления, указывающее, можно ли наследовать дескриптор сопоставленного с памятью файла дочерним процессом. Значение по умолчанию — None.
Возвращаемое значение
Сопоставленный с памятью файл с указанными характеристиками.
- Атрибуты
Исключения
mapName равно null.
mapName — пустая строка.
desiredAccessRights не является допустимым MemoryMappedFileRights значением перечисления.
–или–
inheritability не является допустимым HandleInheritability значением перечисления.
Запрошенный доступ недопустим для сопоставленного с памятью файла.
Указанный файл mapName не существует.