Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo MemoryMappedFile.OpenExisting (String)

.NET Framework (current version)
 

Data di pubblicazione: ottobre 2016

Apre un file mappato alla memoria esistente con il nome specificato nella memoria di sistema.

Spazio dei nomi:   System.IO.MemoryMappedFiles
Assembly:  System.Core (in System.Core.dll)

public static MemoryMappedFile OpenExisting(
	string mapName
)

Parametri

mapName
Type: System.String

Nome del file mappato alla memoria da aprire.

Valore restituito

Type: System.IO.MemoryMappedFiles.MemoryMappedFile

File mappato alla memoria con il nome specificato.

Exception Condition
ArgumentException

Il parametro mapName è una stringa vuota.

ArgumentNullException

mapName è null.

FileNotFoundException

Il file specificato per mapName non esiste.

Il file mappato alla memoria può essere entrambi un persistente file mappato alla memoria (associato a un file su disco) o non permanente.

Apertura di un File mappato alla memoria persistente

Nell'esempio seguente viene aperto un file mappato alla memoria denominato ImgA che è già stato creato da un file su disco (come illustrato nell'esempio per il CreateFromFile(String) (metodo)).

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);
    }
}

Apertura di un File mappato alla memoria Non persistente

Nell'esempio seguente viene aperto un file mappato alla memoria utilizzato per la comunicazione tra processo. Questo esempio di codice fa parte di un esempio più esaustivo fornito per il CreateNew(String, Int64) metodo.

.NET Framework
Disponibile da 4.0
Torna all'inizio
Mostra: