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

Definition

Öffnet eine vorhandene benannte Speicherabbilddatei im Systemspeicher.Opens an existing named memory-mapped file in system memory.

Überlädt

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

Öffnet eine vorhandene im Speicher abgebildete Datei mit dem angegebenen Namen im Systemspeicher.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)

Öffnet eine vorhandene im Speicher abgebildete Datei mit den angegebenen Werten für Name und Zugriffsrechte im Systemspeicher.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)

Öffnet eine vorhandene im Speicher abgebildete Datei mit den angegebenen Werten für Name, Zugriffsrechte und Vererbbarkeit im Systemspeicher.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)

Öffnet eine vorhandene im Speicher abgebildete Datei mit dem angegebenen Namen im Systemspeicher.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

Parameter

mapName
String String String String

Der Name der im Speicher abgebildeten Datei.The name of the memory-mapped file.

Gibt zurück

Eine Speicherabbilddatei, die über den angegebenen Namen verfügt.A memory-mapped file that has the specified name.

Ausnahmen

mapName ist eine leere Zeichenfolge.mapName is an empty string.

Die für mapName angegebene Datei ist nicht vorhanden.The file specified for mapName does not exist.

Beispiele

Öffnen eine persistente Speicher abgebildete DateiOpening a Persisted Memory-Mapped File

Das folgende Beispiel öffnet eine Speicherabbilddatei, die mit dem Namen ImgA , die bereits aus einer Datei auf dem Datenträger erstellt wurde (Siehe das Beispiel für die CreateFromFile(String) Methode).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

Öffnen eine nicht permanente SpeicherabbilddateiOpening a Non-Persisted Memory-Mapped File

Das folgende Beispiel öffnet eine Datei mit zugewiesenem Speicher für die prozessübergreifende Kommunikation verwendet.The following example opens a memory-mapped file used for inter-process communication. Dieses Codebeispiel ist Teil eines umfangreicheren Beispiels für die CreateNew(String, Int64) Methode.This code example is part of a larger example provided for the CreateNew(String, Int64) method.

Hinweise

Die Datei mit zugewiesenem Speicher kann entweder einen persistenten Speicher abgebildete Datei (mit einer Datei auf dem Datenträger zugeordnete) oder nicht permanent.The memory-mapped file can be either a persisted memory-mapped file (associated with a file on disk) or non-persisted.

Siehe auch

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

Öffnet eine vorhandene im Speicher abgebildete Datei mit den angegebenen Werten für Name und Zugriffsrechte im Systemspeicher.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

Parameter

mapName
String String String String

Der Name der zu öffnenden Speicherabbilddatei.The name of the memory-mapped file to open.

desiredAccessRights
MemoryMappedFileRights MemoryMappedFileRights MemoryMappedFileRights MemoryMappedFileRights

Einer der Enumerationswerte, der die anzuwendenden Zugriffsrechte für die Speicherabbilddatei angibt.One of the enumeration values that specifies the access rights to apply to the memory-mapped file.

Gibt zurück

Eine Speicherabbilddatei, die die angegebenen Merkmale aufweist.A memory-mapped file that has the specified characteristics.

Ausnahmen

mapName ist eine leere Zeichenfolge.mapName is an empty string.

desiredAccessRights ist kein gültiger MemoryMappedFileRights-Enumerationswert.desiredAccessRights is not a valid MemoryMappedFileRights enumeration value.

Die für mapName angegebene Datei ist nicht vorhanden.The file specified for mapName does not exist.

Siehe auch

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

Öffnet eine vorhandene im Speicher abgebildete Datei mit den angegebenen Werten für Name, Zugriffsrechte und Vererbbarkeit im Systemspeicher.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

Parameter

mapName
String String String String

Der Name der zu öffnenden Speicherabbilddatei.The name of the memory-mapped file to open.

desiredAccessRights
MemoryMappedFileRights MemoryMappedFileRights MemoryMappedFileRights MemoryMappedFileRights

Einer der Enumerationswerte, der die anzuwendenden Zugriffsrechte für die Speicherabbilddatei angibt.One of the enumeration values that specifies the access rights to apply to the memory-mapped file.

inheritability
HandleInheritability HandleInheritability HandleInheritability HandleInheritability

Einer der Enumerationswerte, der angibt, ob ein Handle auf die Speicherabbilddatei von einem untergeordneten Prozess geerbt werden kann.One of the enumeration values that specifies whether a handle to the memory-mapped file can be inherited by a child process. Der Standardwert ist None.The default is None.

Gibt zurück

Eine Speicherabbilddatei, die die angegebenen Merkmale aufweist.A memory-mapped file that has the specified characteristics.

Ausnahmen

mapName ist eine leere Zeichenfolge.mapName is an empty string.

desiredAccessRights ist kein gültiger MemoryMappedFileRights-Enumerationswert.desiredAccessRights is not a valid MemoryMappedFileRights enumeration value.

- oder --or- inheritability ist kein gültiger HandleInheritability-Enumerationswert.inheritability is not a valid HandleInheritability enumeration value.

Der angeforderte Zugriff ist für die dem Speicher zugeordnete Datei ungültig.The requested access is invalid for the memory-mapped file.

Die für mapName angegebene Datei ist nicht vorhanden.The file specified for mapName does not exist.

Sicherheit

SecurityPermission
für den Zugriff von nicht verwaltetem Code.for access to unmanaged code. Zugeordnete Enumeration: UnmanagedCodeAssociated enumeration: UnmanagedCode.

Siehe auch

Gilt für: