MemoryMappedFile.OpenExisting Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Otevře existující pojmenovaný soubor mapované paměti v systémové paměti.
Přetížení
OpenExisting(String) |
Otevře existující soubor mapované paměti, který má zadaný název v systémové paměti. |
OpenExisting(String, MemoryMappedFileRights) |
Otevře existující soubor mapované paměti, který má zadaný název a přístupová práva v systémové paměti. |
OpenExisting(String, MemoryMappedFileRights, HandleInheritability) |
Otevře existující soubor mapované paměti, který má zadaný název, přístupová práva a dědičnost v systémové paměti. |
OpenExisting(String)
- Zdroj:
- MemoryMappedFile.cs
- Zdroj:
- MemoryMappedFile.cs
- Zdroj:
- MemoryMappedFile.cs
Otevře existující soubor mapované paměti, který má zadaný název v systémové paměti.
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
Parametry
- mapName
- String
Název souboru mapované paměti.
Návraty
Soubor mapované paměti, který má zadaný název.
- Atributy
Výjimky
mapName
je null
.
mapName
je prázdný řetězec.
Soubor zadaný pro mapName
neexistuje.
Příklady
Otevření trvalého souboru Memory-Mapped
Následující příklad otevře soubor mapované paměti s názvem ImgA
, který již byl vytvořen ze souboru na disku (jak je znázorněno v příkladu pro metodu 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
Otevření neuchovaného souboru Memory-Mapped
Následující příklad otevře soubor mapované paměti, který se používá pro komunikaci mezi procesy. Tento příklad kódu je součástí většího příkladu pro metodu CreateNew(String, Int64) .
Poznámky
Soubor mapované paměti může být buď trvalý soubor mapované paměti (přidružený k souboru na disku), nebo neudržovaný.
Viz také
Platí pro
OpenExisting(String, MemoryMappedFileRights)
- Zdroj:
- MemoryMappedFile.cs
- Zdroj:
- MemoryMappedFile.cs
- Zdroj:
- MemoryMappedFile.cs
Otevře existující soubor mapované paměti, který má zadaný název a přístupová práva v systémové paměti.
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
Parametry
- mapName
- String
Název souboru mapovaného na paměť, který se má otevřít.
- desiredAccessRights
- MemoryMappedFileRights
Jedna z hodnot výčtu, která určuje přístupová práva, která se mají použít na soubor mapované paměti.
Návraty
Soubor mapované paměti, který má zadané vlastnosti.
- Atributy
Výjimky
mapName
je null
.
mapName
je prázdný řetězec.
desiredAccessRights
není platná MemoryMappedFileRights hodnota výčtu.
Soubor zadaný pro mapName
neexistuje.
Viz také
Platí pro
OpenExisting(String, MemoryMappedFileRights, HandleInheritability)
- Zdroj:
- MemoryMappedFile.cs
- Zdroj:
- MemoryMappedFile.cs
- Zdroj:
- MemoryMappedFile.cs
Otevře existující soubor mapované paměti, který má zadaný název, přístupová práva a dědičnost v systémové paměti.
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
Parametry
- mapName
- String
Název souboru mapovaného na paměť, který se má otevřít.
- desiredAccessRights
- MemoryMappedFileRights
Jedna z hodnot výčtu, která určuje přístupová práva, která se mají použít na soubor mapované paměti.
- inheritability
- HandleInheritability
Jedna z hodnot výčtu, která určuje, zda popisovač souboru mapované paměti může být zděděna podřízeným procesem. Výchozí formát je None.
Návraty
Soubor mapované paměti, který má zadané vlastnosti.
- Atributy
Výjimky
mapName
je null
.
mapName
je prázdný řetězec.
desiredAccessRights
není platná MemoryMappedFileRights hodnota výčtu.
-nebo-
inheritability
není platná HandleInheritability hodnota výčtu.
Požadovaný přístup je pro soubor mapované paměti neplatný.
Soubor zadaný pro mapName
neexistuje.