Bagikan melalui


MemoryMappedFile.OpenExisting Metode

Definisi

Membuka file bernama yang dipetakan memori yang ada dalam memori sistem.

Overload

OpenExisting(String)

Membuka file yang dipetakan memori yang ada yang memiliki nama yang ditentukan dalam memori sistem.

OpenExisting(String, MemoryMappedFileRights)

Membuka file yang dipetakan memori yang ada yang memiliki nama dan hak akses yang ditentukan dalam memori sistem.

OpenExisting(String, MemoryMappedFileRights, HandleInheritability)

Membuka file yang dipetakan memori yang ada yang memiliki nama, hak akses, dan warisan yang ditentukan dalam memori sistem.

OpenExisting(String)

Sumber:
MemoryMappedFile.cs
Sumber:
MemoryMappedFile.cs
Sumber:
MemoryMappedFile.cs

Membuka file yang dipetakan memori yang ada yang memiliki nama yang ditentukan dalam memori sistem.

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

Nama file yang dipetakan memori.

Mengembalikan

File yang dipetakan memori yang memiliki nama yang ditentukan.

Atribut

Pengecualian

mapNameadalah null.

mapName adalah string kosong.

File yang ditentukan untuk mapName tidak ada.

Contoh

Membuka File Memory-Mapped Yang Dipertahankan

Contoh berikut membuka file yang dipetakan memori bernama ImgA yang telah dibuat dari file pada disk (seperti yang ditunjukkan dalam contoh untuk CreateFromFile(String) metode ).

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

Membuka File Memory-Mapped yang Tidak Bertahan

Contoh berikut membuka file yang dipetakan memori yang digunakan untuk komunikasi antar-proses. Contoh kode ini adalah bagian dari contoh yang lebih besar yang disediakan untuk metode .CreateNew(String, Int64)

Keterangan

File yang dipetakan memori dapat berupa file yang dipetakan memori yang bertahan (terkait dengan file pada disk) atau tidak bertahan.

Lihat juga

Berlaku untuk

OpenExisting(String, MemoryMappedFileRights)

Sumber:
MemoryMappedFile.cs
Sumber:
MemoryMappedFile.cs
Sumber:
MemoryMappedFile.cs

Membuka file yang dipetakan memori yang ada yang memiliki nama dan hak akses yang ditentukan dalam memori sistem.

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

Nama file yang dipetakan memori untuk dibuka.

desiredAccessRights
MemoryMappedFileRights

Salah satu nilai enumerasi yang menentukan hak akses untuk diterapkan ke file yang dipetakan memori.

Mengembalikan

File yang dipetakan memori yang memiliki karakteristik yang ditentukan.

Atribut

Pengecualian

mapNameadalah null.

mapName adalah string kosong.

desiredAccessRights bukan nilai enumerasi yang valid MemoryMappedFileRights .

File yang ditentukan untuk mapName tidak ada.

Lihat juga

Berlaku untuk

OpenExisting(String, MemoryMappedFileRights, HandleInheritability)

Sumber:
MemoryMappedFile.cs
Sumber:
MemoryMappedFile.cs
Sumber:
MemoryMappedFile.cs

Membuka file yang dipetakan memori yang ada yang memiliki nama, hak akses, dan warisan yang ditentukan dalam memori sistem.

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

Nama file yang dipetakan memori untuk dibuka.

desiredAccessRights
MemoryMappedFileRights

Salah satu nilai enumerasi yang menentukan hak akses untuk diterapkan ke file yang dipetakan memori.

inheritability
HandleInheritability

Salah satu nilai enumerasi yang menentukan apakah handel ke file yang dipetakan memori dapat diwariskan oleh proses anak. Default adalah None.

Mengembalikan

File yang dipetakan memori yang memiliki karakteristik yang ditentukan.

Atribut

Pengecualian

mapNameadalah null.

mapName adalah string kosong.

desiredAccessRights bukan nilai enumerasi yang valid MemoryMappedFileRights .

-atau-

inheritability bukan nilai enumerasi yang valid HandleInheritability .

Akses yang diminta tidak valid untuk file yang dipetakan memori.

File yang ditentukan untuk mapName tidak ada.

Lihat juga

Berlaku untuk