MemoryMappedFile.OpenExisting Methode

Definitie

Hiermee opent u een bestaand bestand met de naam geheugen in het systeemgeheugen.

Overloads

Name Description
OpenExisting(String)

Hiermee opent u een bestaand geheugentoewijzingsbestand met de opgegeven naam in het systeemgeheugen.

OpenExisting(String, MemoryMappedFileRights)

Hiermee opent u een bestaand geheugentoewijzingsbestand met de opgegeven naam en toegangsrechten in het systeemgeheugen.

OpenExisting(String, MemoryMappedFileRights, HandleInheritability)

Hiermee opent u een bestaand geheugentoewijzingsbestand met de opgegeven naam, toegangsrechten en overnamemogelijkheden in het systeemgeheugen.

OpenExisting(String)

Hiermee opent u een bestaand geheugentoewijzingsbestand met de opgegeven naam in het systeemgeheugen.

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

Parameters

mapName
String

De naam van het geheugentoewijzingsbestand.

Retouren

Een geheugentoewijzingsbestand met de opgegeven naam.

Uitzonderingen

mapName is null.

mapName is een lege tekenreeks.

Het opgegeven mapName bestand bestaat niet.

Voorbeelden

Een persistent Memory-Mapped-bestand openen

In het volgende voorbeeld wordt een geheugentoewijzingsbestand geopend met de naam ImgA dat al is gemaakt op basis van een bestand op schijf (zoals weergegeven in het voorbeeld voor de CreateFromFile(String) methode).

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

Een niet-persistent Memory-Mapped-bestand openen

In het volgende voorbeeld wordt een geheugentoewijzingsbestand geopend dat wordt gebruikt voor communicatie tussen processen. Dit codevoorbeeld maakt deel uit van een groter voorbeeld dat is opgegeven voor de CreateNew(String, Int64) methode.

Opmerkingen

Het geheugentoewijzingsbestand kan een persistent geheugentoewijzingsbestand zijn (gekoppeld aan een bestand op schijf) of niet-persistent.

Zie ook

Van toepassing op

OpenExisting(String, MemoryMappedFileRights)

Hiermee opent u een bestaand geheugentoewijzingsbestand met de opgegeven naam en toegangsrechten in het systeemgeheugen.

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

Parameters

mapName
String

De naam van het geheugentoewijzingsbestand dat moet worden geopend.

desiredAccessRights
MemoryMappedFileRights

Een van de opsommingswaarden die de toegangsrechten specificeert die moeten worden toegepast op het geheugentoewijzingsbestand.

Retouren

Een geheugentoewijzingsbestand met de opgegeven kenmerken.

Uitzonderingen

mapName is null.

mapName is een lege tekenreeks.

desiredAccessRights is geen geldige MemoryMappedFileRights opsommingswaarde.

Het opgegeven mapName bestand bestaat niet.

Zie ook

Van toepassing op

OpenExisting(String, MemoryMappedFileRights, HandleInheritability)

Hiermee opent u een bestaand geheugentoewijzingsbestand met de opgegeven naam, toegangsrechten en overnamemogelijkheden in het systeemgeheugen.

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

Parameters

mapName
String

De naam van het geheugentoewijzingsbestand dat moet worden geopend.

desiredAccessRights
MemoryMappedFileRights

Een van de opsommingswaarden die de toegangsrechten specificeert die moeten worden toegepast op het geheugentoewijzingsbestand.

inheritability
HandleInheritability

Een van de opsommingswaarden die aangeeft of een ingang naar het geheugentoewijzingsbestand kan worden overgenomen door een onderliggend proces. De standaardwaarde is None.

Retouren

Een geheugentoewijzingsbestand met de opgegeven kenmerken.

Kenmerken

Uitzonderingen

mapName is null.

mapName is een lege tekenreeks.

desiredAccessRights is geen geldige MemoryMappedFileRights opsommingswaarde.

– of –

inheritability is geen geldige HandleInheritability opsommingswaarde.

De aangevraagde toegang is ongeldig voor het geheugentoewijzingsbestand.

Het opgegeven mapName bestand bestaat niet.

Zie ook

Van toepassing op