MemoryMappedFile.OpenExisting Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Öffnet eine vorhandene benannte Speicherabbilddatei im Systemspeicher.
Überlädt
OpenExisting(String) |
Öffnet eine vorhandene im Speicher abgebildete Datei mit dem angegebenen Namen im Systemspeicher. |
OpenExisting(String, MemoryMappedFileRights) |
Öffnet eine vorhandene im Speicher abgebildete Datei mit den angegebenen Werten für Name und Zugriffsrechte im Systemspeicher. |
OpenExisting(String, MemoryMappedFileRights, HandleInheritability) |
Öffnet eine vorhandene im Speicher abgebildete Datei mit den angegebenen Werten für Name, Zugriffsrechte und Vererbbarkeit im Systemspeicher. |
OpenExisting(String)
- Quelle:
- MemoryMappedFile.cs
- Quelle:
- MemoryMappedFile.cs
- Quelle:
- MemoryMappedFile.cs
Öffnet eine vorhandene im Speicher abgebildete Datei mit dem angegebenen Namen im Systemspeicher.
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
Parameter
- mapName
- String
Der Name der im Speicher abgebildeten Datei.
Gibt zurück
Eine Speicherabbilddatei, die über den angegebenen Namen verfügt.
- Attribute
Ausnahmen
mapName
ist null
.
mapName
ist eine leere Zeichenfolge.
Die für mapName
angegebene Datei ist nicht vorhanden.
Beispiele
Öffnen einer persistenten Memory-Mapped datei
Im folgenden Beispiel wird eine Speicherzuordnungsdatei namens ImgA
geöffnet, die bereits aus 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 persistenten Memory-Mapped datei
Im folgenden Beispiel wird eine Speicherzuordnungsdatei geöffnet, die für die Kommunikation zwischen Prozessen verwendet wird. Dieses Codebeispiel ist Teil eines größeren Beispiels für die CreateNew(String, Int64) -Methode.
Hinweise
Die Speicherzuordnungsdatei kann entweder eine persistente Speicherzuordnungsdatei (einer Datei auf dem Datenträger zugeordnet) oder nicht persistent sein.
Weitere Informationen
Gilt für:
OpenExisting(String, MemoryMappedFileRights)
- Quelle:
- MemoryMappedFile.cs
- Quelle:
- MemoryMappedFile.cs
- Quelle:
- MemoryMappedFile.cs
Öffnet eine vorhandene im Speicher abgebildete Datei mit den angegebenen Werten für Name und Zugriffsrechte im Systemspeicher.
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
Parameter
- mapName
- String
Der Name der zu öffnenden Speicherabbilddatei.
- desiredAccessRights
- MemoryMappedFileRights
Einer der Enumerationswerte, der die anzuwendenden Zugriffsrechte für die Speicherabbilddatei angibt.
Gibt zurück
Eine Speicherabbilddatei, die die angegebenen Merkmale aufweist.
- Attribute
Ausnahmen
mapName
ist null
.
mapName
ist eine leere Zeichenfolge.
desiredAccessRights
ist kein gültiger MemoryMappedFileRights-Enumerationswert.
Die für mapName
angegebene Datei ist nicht vorhanden.
Weitere Informationen
Gilt für:
OpenExisting(String, MemoryMappedFileRights, HandleInheritability)
- Quelle:
- MemoryMappedFile.cs
- Quelle:
- MemoryMappedFile.cs
- Quelle:
- MemoryMappedFile.cs
Öffnet eine vorhandene im Speicher abgebildete Datei mit den angegebenen Werten für Name, Zugriffsrechte und Vererbbarkeit im Systemspeicher.
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
Parameter
- mapName
- String
Der Name der zu öffnenden Speicherabbilddatei.
- desiredAccessRights
- MemoryMappedFileRights
Einer der Enumerationswerte, der die anzuwendenden Zugriffsrechte für die Speicherabbilddatei angibt.
- inheritability
- HandleInheritability
Einer der Enumerationswerte, der angibt, ob ein Handle auf die Speicherabbilddatei von einem untergeordneten Prozess geerbt werden kann. Der Standardwert ist None.
Gibt zurück
Eine Speicherabbilddatei, die die angegebenen Merkmale aufweist.
- 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 dem Speicher zugeordnete Datei ungültig.
Die für mapName
angegebene Datei ist nicht vorhanden.