Udostępnij za pośrednictwem


MemoryMappedFile.OpenExisting Metoda

Definicja

Otwiera istniejący nazwany plik zamapowany na pamięć w pamięci systemowej.

Przeciążenia

OpenExisting(String)

Otwiera istniejący plik zamapowany na pamięć, który ma określoną nazwę w pamięci systemowej.

OpenExisting(String, MemoryMappedFileRights)

Otwiera istniejący plik zamapowany na pamięć, który ma określoną nazwę i prawa dostępu w pamięci systemowej.

OpenExisting(String, MemoryMappedFileRights, HandleInheritability)

Otwiera istniejący plik zamapowany na pamięć, który ma określoną nazwę, prawa dostępu i dziedziczenie w pamięci systemowej.

OpenExisting(String)

Źródło:
MemoryMappedFile.cs
Źródło:
MemoryMappedFile.cs
Źródło:
MemoryMappedFile.cs

Otwiera istniejący plik zamapowany na pamięć, który ma określoną nazwę w pamięci systemowej.

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

Nazwa pliku mapowanego na pamięć.

Zwraca

Plik mapowany na pamięć, który ma określoną nazwę.

Atrybuty

Wyjątki

mapName to null.

mapName jest pustym ciągiem.

Plik określony dla mapName nie istnieje.

Przykłady

Otwieranie utrwalonego pliku Memory-Mapped

Poniższy przykład otwiera plik zamapowany na pamięć o nazwie ImgA , który został już utworzony na podstawie pliku na dysku (jak pokazano w przykładzie CreateFromFile(String) dla metody ).

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

Otwieranie nietrwałego pliku Memory-Mapped

W poniższym przykładzie zostanie otwarty plik mapowany na pamięć używany do komunikacji między procesami. Ten przykład kodu jest częścią większego przykładu udostępnionego CreateNew(String, Int64) dla metody .

Uwagi

Plik zamapowany na pamięć może być utrwalonego pliku zamapowanego na pamięć (skojarzonego z plikiem na dysku) lub nietrwałego.

Zobacz też

Dotyczy

OpenExisting(String, MemoryMappedFileRights)

Źródło:
MemoryMappedFile.cs
Źródło:
MemoryMappedFile.cs
Źródło:
MemoryMappedFile.cs

Otwiera istniejący plik zamapowany na pamięć, który ma określoną nazwę i prawa dostępu w pamięci systemowej.

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

Nazwa pliku mapowanego w pamięci do otwarcia.

desiredAccessRights
MemoryMappedFileRights

Jedna z wartości wyliczenia, która określa prawa dostępu do zastosowania do pliku mapowanego na pamięć.

Zwraca

Plik mapowany na pamięć, który ma określoną charakterystykę.

Atrybuty

Wyjątki

mapName to null.

mapName jest pustym ciągiem.

desiredAccessRights nie jest prawidłową MemoryMappedFileRights wartością wyliczenia.

Plik określony dla mapName nie istnieje.

Zobacz też

Dotyczy

OpenExisting(String, MemoryMappedFileRights, HandleInheritability)

Źródło:
MemoryMappedFile.cs
Źródło:
MemoryMappedFile.cs
Źródło:
MemoryMappedFile.cs

Otwiera istniejący plik zamapowany na pamięć, który ma określoną nazwę, prawa dostępu i dziedziczenie w pamięci systemowej.

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

Nazwa pliku mapowanego w pamięci do otwarcia.

desiredAccessRights
MemoryMappedFileRights

Jedna z wartości wyliczenia, która określa prawa dostępu do zastosowania do pliku mapowanego na pamięć.

inheritability
HandleInheritability

Jedna z wartości wyliczenia określająca, czy dojście do pliku mapowanego w pamięci może być dziedziczone przez proces podrzędny. Wartość domyślna to None.

Zwraca

Plik mapowany na pamięć, który ma określoną charakterystykę.

Atrybuty

Wyjątki

mapName to null.

mapName jest pustym ciągiem.

desiredAccessRights nie jest prawidłową MemoryMappedFileRights wartością wyliczenia.

-lub-

inheritability nie jest prawidłową HandleInheritability wartością wyliczenia.

Żądany dostęp jest nieprawidłowy dla pliku zamapowanego na pamięć.

Plik określony dla mapName nie istnieje.

Zobacz też

Dotyczy