MemoryMappedFile.OpenExisting Methode

Definition

Öffnet eine vorhandene benannte speicherzuordnunge Datei im Systemspeicher.

Überlädt

Name Beschreibung
OpenExisting(String)

Öffnet eine vorhandene speicherzuordnunge Datei mit dem angegebenen Namen im Systemspeicher.

OpenExisting(String, MemoryMappedFileRights)

Öffnet eine vorhandene speicherzuordnunge Datei mit dem angegebenen Namen und Zugriffsrechten im Systemspeicher.

OpenExisting(String, MemoryMappedFileRights, HandleInheritability)

Öffnet eine vorhandene speicherzuordnunge Datei mit dem angegebenen Namen, Zugriffsrechten und vererbbarkeit im Systemspeicher.

OpenExisting(String)

Öffnet eine vorhandene speicherzuordnunge Datei mit dem angegebenen Namen im Systemspeicher.

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

Parameter

mapName
String

Der Name der speicherzuordnungen Datei.

Gibt zurück

Eine speicherzuordnunge Datei mit dem angegebenen Namen.

Ausnahmen

mapName ist null.

mapName ist eine leere Zeichenfolge.

Die angegebene mapName Datei ist nicht vorhanden.

Beispiele

Öffnen einer gespeicherten Memory-Mapped Datei

Im folgenden Beispiel wird eine speicherzuordnunge Datei mit dem Namen ImgA geöffnet, die bereits von einer Datei auf dem Datenträger erstellt wurde (wie im Beispiel für die CreateFromFile(String) Methode gezeigt).

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

Öffnen einer nicht dauerhaften Memory-Mapped Datei

Im folgenden Beispiel wird eine speicherzuordnunge Datei geöffnet, die für die Kommunikation zwischen Prozessen verwendet wird. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die CreateNew(String, Int64) Methode bereitgestellt wird.

Hinweise

Die speicherzuordnunge Datei kann entweder eine gespeicherte Speicherzuordnungsdatei (zugeordnet mit einer Datei auf dem Datenträger) oder nicht dauerhaft sein.

Weitere Informationen

Gilt für:

OpenExisting(String, MemoryMappedFileRights)

Öffnet eine vorhandene speicherzuordnunge Datei mit dem angegebenen Namen und Zugriffsrechten im Systemspeicher.

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

Parameter

mapName
String

Der Name der speicherzuordnungen Datei, die geöffnet werden soll.

desiredAccessRights
MemoryMappedFileRights

Einer der Enumerationswerte, der die Zugriffsrechte angibt, die auf die speicherzuordnunge Datei angewendet werden sollen.

Gibt zurück

Eine speicherzuordnunge Datei mit den angegebenen Merkmalen.

Ausnahmen

mapName ist null.

mapName ist eine leere Zeichenfolge.

desiredAccessRights ist kein gültiger MemoryMappedFileRights Enumerationswert.

Die angegebene mapName Datei ist nicht vorhanden.

Weitere Informationen

Gilt für:

OpenExisting(String, MemoryMappedFileRights, HandleInheritability)

Öffnet eine vorhandene speicherzuordnunge Datei mit dem angegebenen Namen, Zugriffsrechten und vererbbarkeit im Systemspeicher.

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);
public static System.IO.MemoryMappedFiles.MemoryMappedFile OpenExisting(string mapName, System.IO.MemoryMappedFiles.MemoryMappedFileRights desiredAccessRights, System.IO.HandleInheritability inheritability);
[<System.Security.SecurityCritical>]
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
Public Shared Function OpenExisting (mapName As String, desiredAccessRights As MemoryMappedFileRights, inheritability As HandleInheritability) As MemoryMappedFile

Parameter

mapName
String

Der Name der speicherzuordnungen Datei, die geöffnet werden soll.

desiredAccessRights
MemoryMappedFileRights

Einer der Enumerationswerte, der die Zugriffsrechte angibt, die auf die speicherzuordnunge Datei angewendet werden sollen.

inheritability
HandleInheritability

Einer der Enumerationswerte, der angibt, ob ein Handle für die speicherzuordnunge Datei von einem untergeordneten Prozess geerbt werden kann. Der Standardwert lautet None.

Gibt zurück

Eine speicherzuordnunge Datei mit den angegebenen Merkmalen.

Attribute

Ausnahmen

mapName ist null.

mapName ist eine leere Zeichenfolge.

desiredAccessRights ist kein gültiger MemoryMappedFileRights Enumerationswert.

-oder-

inheritability ist kein gültiger HandleInheritability Enumerationswert.

Der angeforderte Zugriff ist für die speicherzuordnunge Datei ungültig.

Die angegebene mapName Datei ist nicht vorhanden.

Weitere Informationen

Gilt für: