MemoryMappedFile.OpenExisting Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Apre un file denominato mappato alla memoria esistente nella memoria di sistema.
Overload
OpenExisting(String) |
Apre un file mappato alla memoria esistente con il nome specificato nella memoria di sistema. |
OpenExisting(String, MemoryMappedFileRights) |
Apre un file mappato alla memoria esistente con il nome e i diritti di accesso specificati nella memoria di sistema. |
OpenExisting(String, MemoryMappedFileRights, HandleInheritability) |
Apre un file mappato alla memoria esistente con il nome, i diritti di accesso e l'ereditabilità specificati nella memoria di sistema. |
OpenExisting(String)
- Origine:
- MemoryMappedFile.cs
- Origine:
- MemoryMappedFile.cs
- Origine:
- MemoryMappedFile.cs
Apre un file mappato alla memoria esistente con il nome specificato nella memoria di sistema.
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
Parametri
- mapName
- String
Nome del file di cui è stato eseguito il mapping alla memoria.
Restituisce
File mappato alla memoria con il nome specificato.
- Attributi
Eccezioni
mapName
è null
.
Il parametro mapName
è una stringa vuota.
Il file specificato per mapName
non esiste.
Esempio
Apertura di un file di Memory-Mapped persistente
Nell'esempio seguente viene aperto un file mappato alla memoria denominato ImgA
già 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);
}
}
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
Apertura di un file di Memory-Mapped non persistente
Nell'esempio seguente viene aperto un file mappato alla memoria usato per la comunicazione tra processi. Questo esempio di codice fa parte di un esempio più ampio fornito per il CreateNew(String, Int64) metodo .
Commenti
Il file mappato alla memoria può essere un file mappato alla memoria persistente (associato a un file su disco) o non persistente.
Vedi anche
Si applica a
OpenExisting(String, MemoryMappedFileRights)
- Origine:
- MemoryMappedFile.cs
- Origine:
- MemoryMappedFile.cs
- Origine:
- MemoryMappedFile.cs
Apre un file mappato alla memoria esistente con il nome e i diritti di accesso specificati nella memoria di sistema.
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
Parametri
- mapName
- String
Nome del file mappato alla memoria da aprire.
- desiredAccessRights
- MemoryMappedFileRights
Uno dei valori di enumerazione che specifica i diritti di accesso da applicare al file mappato alla memoria.
Restituisce
File mappato alla memoria con le caratteristiche specificate.
- Attributi
Eccezioni
mapName
è null
.
Il parametro mapName
è una stringa vuota.
desiredAccessRights
non è un valore di enumerazione MemoryMappedFileRights valido.
Il file specificato per mapName
non esiste.
Vedi anche
Si applica a
OpenExisting(String, MemoryMappedFileRights, HandleInheritability)
- Origine:
- MemoryMappedFile.cs
- Origine:
- MemoryMappedFile.cs
- Origine:
- MemoryMappedFile.cs
Apre un file mappato alla memoria esistente con il nome, i diritti di accesso e l'ereditabilità specificati nella memoria di sistema.
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
Parametri
- mapName
- String
Nome del file mappato alla memoria da aprire.
- desiredAccessRights
- MemoryMappedFileRights
Uno dei valori di enumerazione che specifica i diritti di accesso da applicare al file mappato alla memoria.
- inheritability
- HandleInheritability
Uno dei valori di enumerazione che specifica se un handle al file mappato alla memoria può essere ereditato da un processo figlio. Il valore predefinito è None.
Restituisce
File mappato alla memoria con le caratteristiche specificate.
- Attributi
Eccezioni
mapName
è null
.
Il parametro mapName
è una stringa vuota.
desiredAccessRights
non è un valore di enumerazione MemoryMappedFileRights valido.
-oppure-
inheritability
non è un valore di enumerazione HandleInheritability valido.
L'accesso richiesto non è valido per il file mappato alla memoria.
Il file specificato per mapName
non esiste.