MemoryMappedFile.OpenExisting Metoda

Definice

Otevře existující pojmenovaný soubor mapovaný v systémové paměti.

Přetížení

Name Description
OpenExisting(String)

Otevře existující soubor mapovaný v paměti, který má zadaný název v systémové paměti.

OpenExisting(String, MemoryMappedFileRights)

Otevře existující soubor mapovaný v 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ý v paměti, který má zadaný název, přístupová práva a zděděnost v systémové paměti.

OpenExisting(String)

Zdroj:
MemoryMappedFile.cs
Zdroj:
MemoryMappedFile.cs
Zdroj:
MemoryMappedFile.cs
Zdroj:
MemoryMappedFile.cs
Zdroj:
MemoryMappedFile.cs

Otevře existující soubor mapovaný v 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ého paměti.

Návraty

Soubor mapovaný do paměti, který má zadaný název.

Atributy

Výjimky

mapName je null.

mapName je prázdný řetězec.

Zadaný soubor mapName neexistuje.

Příklady

Otevření trvalého souboru Memory-Mapped

Následující příklad otevře soubor mapovaný na paměť 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ý v paměti, který se používá pro komunikaci mezi procesy. Tento příklad kódu je součástí většího příkladu poskytnutého pro metodu CreateNew(String, Int64) .

Poznámky

Soubor mapovaný do paměti může být buď trvalý soubor mapovaný do paměti (přidružený k souboru na disku), nebo ne trvalý.

Viz také

Platí pro

OpenExisting(String, MemoryMappedFileRights)

Zdroj:
MemoryMappedFile.cs
Zdroj:
MemoryMappedFile.cs
Zdroj:
MemoryMappedFile.cs
Zdroj:
MemoryMappedFile.cs
Zdroj:
MemoryMappedFile.cs

Otevře existující soubor mapovaný v 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 paměti, který se má otevřít.

desiredAccessRights
MemoryMappedFileRights

Jedna z hodnot výčtu, která určuje přístupová práva, která se mají použít pro soubor mapovaný v paměti.

Návraty

Soubor mapovaný do paměti, který má zadané charakteristiky.

Atributy

Výjimky

mapName je null.

mapName je prázdný řetězec.

desiredAccessRights není platná MemoryMappedFileRights hodnota výčtu.

Zadaný soubor mapName neexistuje.

Viz také

Platí pro

OpenExisting(String, MemoryMappedFileRights, HandleInheritability)

Zdroj:
MemoryMappedFile.cs
Zdroj:
MemoryMappedFile.cs
Zdroj:
MemoryMappedFile.cs
Zdroj:
MemoryMappedFile.cs
Zdroj:
MemoryMappedFile.cs

Otevře existující soubor mapovaný v paměti, který má zadaný název, přístupová práva a zdědě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 paměti, který se má otevřít.

desiredAccessRights
MemoryMappedFileRights

Jedna z hodnot výčtu, která určuje přístupová práva, která se mají použít pro soubor mapovaný v paměti.

inheritability
HandleInheritability

Jedna z hodnot výčtu, která určuje, zda popisovač souboru mapovaného paměti může být zděděna podřízeným procesem. Výchozí hodnota je None.

Návraty

Soubor mapovaný do paměti, který má zadané charakteristiky.

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 neplatný pro soubor mapovaný v paměti.

Zadaný soubor mapName neexistuje.

Viz také

Platí pro