MemoryMappedFile.CreateFromFile Metodo

Definizione

Crea un file mappato alla memoria da un file esistente.

Overload

CreateFromFile(String)

Crea un file mappato alla memoria da un file su disco.

CreateFromFile(String, FileMode)

Crea un file mappato alla memoria con la modalità di accesso specificata da un file su disco.

CreateFromFile(String, FileMode, String)

Crea un file mappato alla memoria con il nome e la modalità di accesso specificati da un file su disco.

CreateFromFile(String, FileMode, String, Int64)

Crea un file mappato alla memoria con la modalità di accesso, il nome e la capacità specificati da un file su disco.

CreateFromFile(String, FileMode, String, Int64, MemoryMappedFileAccess)

Crea un file mappato alla memoria con la modalità di accesso, il nome, la capacità e il tipo di accesso specificati da un file su disco.

CreateFromFile(SafeFileHandle, String, Int64, MemoryMappedFileAccess, HandleInheritability, Boolean)

Crea un file mappato alla memoria da un file esistente usando una SafeFileHandle e la modalità di accesso specificata, il nome, l'ereditabilità e la capacità.

CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, HandleInheritability, Boolean)

Crea un file mappato alla memoria da un file esistente con la modalità di accesso, il nome, l'ereditabilità e la capacità specificati.

CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, MemoryMappedFileSecurity, HandleInheritability, Boolean)

Crea un file mappato alla memoria con il nome, la capacità, il tipo di accesso, le autorizzazioni di sicurezza, l'ereditabilità e requisito di eliminazione specificati da un file su disco.

CreateFromFile(String)

Origine:
MemoryMappedFile.cs
Origine:
MemoryMappedFile.cs
Origine:
MemoryMappedFile.cs

Crea un file mappato alla memoria da un file su disco.

public:
 static System::IO::MemoryMappedFiles::MemoryMappedFile ^ CreateFromFile(System::String ^ path);
public static System.IO.MemoryMappedFiles.MemoryMappedFile CreateFromFile (string path);
static member CreateFromFile : string -> System.IO.MemoryMappedFiles.MemoryMappedFile
Public Shared Function CreateFromFile (path As String) As MemoryMappedFile

Parametri

path
String

Percorso del file da mappare.

Restituisce

File mappato alla memoria.

Eccezioni

path è una stringa vuota, contiene solo spazi vuoti o uno o più caratteri non validi, definiti da GetInvalidFileNameChars().

-oppure-

path si riferisce a un dispositivo non valido.

path è null.

Si è verificato un errore di I/O.

path supera la lunghezza massima definita dal sistema operativo.

Il chiamante non dispone delle autorizzazioni necessarie per il file.

Esempio

L'esempio seguente usa il CreateFromFile metodo per creare un file mappato alla memoria e quindi crea una visualizzazione mappata alla memoria a una parte di un file estremamente grande.

using System;
using System.IO;
using System.IO.MemoryMappedFiles;
using System.Runtime.InteropServices;

class Program
{
    static void Main(string[] args)
    {
        long offset = 0x10000000; // 256 megabytes
        long length = 0x20000000; // 512 megabytes

        // Create the memory-mapped file.
        using (var mmf = MemoryMappedFile.CreateFromFile(@"c:\ExtremelyLargeImage.data", FileMode.Open,"ImgA"))
        {
            // Create a random access view, from the 256th megabyte (the offset)
            // to the 768th megabyte (the offset plus length).
            using (var accessor = mmf.CreateViewAccessor(offset, length))
            {
                int colorSize = Marshal.SizeOf(typeof(MyColor));
                MyColor color;

                // Make changes to the view.
                for (long i = 0; i < length; i += colorSize)
                {
                    accessor.Read(i, out color);
                    color.Brighten(10);
                    accessor.Write(i, ref color);
                }
            }
        }
    }
}

public struct MyColor
{
    public short Red;
    public short Green;
    public short Blue;
    public short Alpha;

    // Make the view brighter.
    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
Imports System.IO.MemoryMappedFiles
Imports System.Runtime.InteropServices

Class Program

    Sub Main()
        Dim offset As Long = &H10000000 ' 256 megabytes
        Dim length As Long = &H20000000 ' 512 megabytes

        ' Create the memory-mapped file.
        Using mmf = MemoryMappedFile.CreateFromFile("c:\ExtremelyLargeImage.data", FileMode.Open, "ImgA")
            ' Create a random access view, from the 256th megabyte (the offset)
            ' to the 768th megabyte (the offset plus length).
            Using accessor = mmf.CreateViewAccessor(offset, length)
                Dim colorSize As Integer = Marshal.SizeOf(GetType(MyColor))
                Dim color As MyColor
                Dim i As Long = 0

                ' Make changes to the view.
                Do While (i < length)
                    accessor.Read(i, color)
                    color.Brighten(10)
                    accessor.Write(i, color)
                    i += colorSize
                Loop
            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 brighter.
    Public Sub Brighten(ByVal value As Short)
        Red = CType(Math.Min(Short.MaxValue, (CType(Red, Integer) + value)), Short)
        Green = CType(Math.Min(Short.MaxValue, (CType(Green, Integer) + value)), Short)
        Blue = CType(Math.Min(Short.MaxValue, (CType(Blue, Integer) + value)), Short)
        Alpha = CType(Math.Min(Short.MaxValue, (CType(Alpha, Integer) + value)), Short)
    End Sub
End Structure

Vedi anche

Si applica a

CreateFromFile(String, FileMode)

Origine:
MemoryMappedFile.cs
Origine:
MemoryMappedFile.cs
Origine:
MemoryMappedFile.cs

Crea un file mappato alla memoria con la modalità di accesso specificata da un file su disco.

public:
 static System::IO::MemoryMappedFiles::MemoryMappedFile ^ CreateFromFile(System::String ^ path, System::IO::FileMode mode);
public static System.IO.MemoryMappedFiles.MemoryMappedFile CreateFromFile (string path, System.IO.FileMode mode);
static member CreateFromFile : string * System.IO.FileMode -> System.IO.MemoryMappedFiles.MemoryMappedFile
Public Shared Function CreateFromFile (path As String, mode As FileMode) As MemoryMappedFile

Parametri

path
String

Percorso del file da mappare.

mode
FileMode

Modalità di accesso; deve essere Open.

Restituisce

File mappato alla memoria con la modalità di accesso specificata.

Eccezioni

path è una stringa vuota, contiene solo spazi vuoti o uno o più caratteri non validi, definiti da GetInvalidFileNameChars().

-oppure-

path si riferisce a un dispositivo non valido.

-oppure-

mode è Append.

path è null.

mode è Create, CreateNew o Truncate.

-oppure-

mode è OpenOrCreate e il file su disco non esiste.

-oppure-

Si è verificato un errore di I/O.

path supera la lunghezza massima definita dal sistema operativo.

Il chiamante non dispone delle autorizzazioni necessarie per il file.

Commenti

Il mode parametro riguarda il file di origine su disco. È possibile usare solo il Open valore di enumerazione per creare il file mappato alla memoria dal file di origine su disco.

Vedi anche

Si applica a

CreateFromFile(String, FileMode, String)

Origine:
MemoryMappedFile.cs
Origine:
MemoryMappedFile.cs
Origine:
MemoryMappedFile.cs

Crea un file mappato alla memoria con il nome e la modalità di accesso specificati da un file su disco.

public:
 static System::IO::MemoryMappedFiles::MemoryMappedFile ^ CreateFromFile(System::String ^ path, System::IO::FileMode mode, System::String ^ mapName);
public static System.IO.MemoryMappedFiles.MemoryMappedFile CreateFromFile (string path, System.IO.FileMode mode, string? mapName);
public static System.IO.MemoryMappedFiles.MemoryMappedFile CreateFromFile (string path, System.IO.FileMode mode, string mapName);
static member CreateFromFile : string * System.IO.FileMode * string -> System.IO.MemoryMappedFiles.MemoryMappedFile
Public Shared Function CreateFromFile (path As String, mode As FileMode, mapName As String) As MemoryMappedFile

Parametri

path
String

Percorso del file da mappare.

mode
FileMode

Modalità di accesso; deve essere Open.

mapName
String

Nome da assegnare al file di cui è stato eseguito il mapping alla memoria, oppure null per un elemento MemoryMappedFile che non si vuole condividere tra processi.

Restituisce

File mappato alla memoria con il nome e la modalità di accesso specificati.

Eccezioni

path è una stringa vuota, contiene solo spazi vuoti o uno o più caratteri non validi, definiti da GetInvalidFileNameChars().

-oppure-

path si riferisce a un dispositivo non valido.

-oppure-

Il parametro mapName è una stringa vuota.

-oppure-

mode è Append.

path è null.

mode è Create, CreateNew o Truncate.

-oppure-

mode è OpenOrCreate e il file su disco non esiste.

-oppure-

Si è verificato un errore di I/O.

path supera la lunghezza massima definita dal sistema operativo.

Il chiamante non dispone delle autorizzazioni necessarie per il file.

Commenti

Il mode parametro riguarda il file di origine su disco. È possibile usare solo il Open valore di enumerazione per creare il file mappato alla memoria dal file di origine su disco.

Si applica a

CreateFromFile(String, FileMode, String, Int64)

Origine:
MemoryMappedFile.cs
Origine:
MemoryMappedFile.cs
Origine:
MemoryMappedFile.cs

Crea un file mappato alla memoria con la modalità di accesso, il nome e la capacità specificati da un file su disco.

public:
 static System::IO::MemoryMappedFiles::MemoryMappedFile ^ CreateFromFile(System::String ^ path, System::IO::FileMode mode, System::String ^ mapName, long capacity);
public static System.IO.MemoryMappedFiles.MemoryMappedFile CreateFromFile (string path, System.IO.FileMode mode, string? mapName, long capacity);
public static System.IO.MemoryMappedFiles.MemoryMappedFile CreateFromFile (string path, System.IO.FileMode mode, string mapName, long capacity);
static member CreateFromFile : string * System.IO.FileMode * string * int64 -> System.IO.MemoryMappedFiles.MemoryMappedFile
Public Shared Function CreateFromFile (path As String, mode As FileMode, mapName As String, capacity As Long) As MemoryMappedFile

Parametri

path
String

Percorso del file da mappare.

mode
FileMode

Modalità di accesso che può essere uno qualsiasi dei valori di enumerazione di FileMode ad eccezione di Append.

mapName
String

Nome da assegnare al file di cui è stato eseguito il mapping alla memoria, oppure null per un elemento MemoryMappedFile che non si vuole condividere tra processi.

capacity
Int64

Dimensioni massime, in byte, da allocare per il file mappato alla memoria. Specificare 0 per impostare la capacità sulla dimensione del file su disco.

Restituisce

File mappato alla memoria con le caratteristiche specificate.

Eccezioni

path è una stringa vuota, contiene solo spazi vuoti o uno o più caratteri non validi, definiti da GetInvalidFileNameChars().

-oppure-

path si riferisce a un dispositivo non valido.

-oppure-

Il parametro mapName è una stringa vuota.

-oppure-

mode è Append.

path è null.

capacity è maggiore della dimensione dello spazio degli indirizzi logico.

-oppure-

capacity è minore di zero.

-oppure-

capacity è inferiore alla dimensione del file (ma non zero).

-oppure-

capacity è zero e anche la dimensione del file su disco è zero.

Si è verificato un errore di I/O.

path supera la lunghezza massima definita dal sistema operativo.

Il chiamante non dispone delle autorizzazioni necessarie per il file.

Commenti

Il mode parametro riguarda il file di origine su disco.

Se capacity è maggiore della dimensione del file su disco, il file sul disco viene aumentato in modo che corrisponda alla capacità specificata anche se non vengono scritti dati nel file mappato alla memoria. Per evitare che si verifichi questo problema, specificare 0 (zero) per la capacità predefinita, che verrà impostata capacity internamente sulle dimensioni del file su disco.

Si applica a

CreateFromFile(String, FileMode, String, Int64, MemoryMappedFileAccess)

Origine:
MemoryMappedFile.cs
Origine:
MemoryMappedFile.cs
Origine:
MemoryMappedFile.cs

Crea un file mappato alla memoria con la modalità di accesso, il nome, la capacità e il tipo di accesso specificati da un file su disco.

public:
 static System::IO::MemoryMappedFiles::MemoryMappedFile ^ CreateFromFile(System::String ^ path, System::IO::FileMode mode, System::String ^ mapName, long capacity, System::IO::MemoryMappedFiles::MemoryMappedFileAccess access);
public static System.IO.MemoryMappedFiles.MemoryMappedFile CreateFromFile (string path, System.IO.FileMode mode, string? mapName, long capacity, System.IO.MemoryMappedFiles.MemoryMappedFileAccess access);
public static System.IO.MemoryMappedFiles.MemoryMappedFile CreateFromFile (string path, System.IO.FileMode mode, string mapName, long capacity, System.IO.MemoryMappedFiles.MemoryMappedFileAccess access);
[System.Security.SecurityCritical]
public static System.IO.MemoryMappedFiles.MemoryMappedFile CreateFromFile (string path, System.IO.FileMode mode, string mapName, long capacity, System.IO.MemoryMappedFiles.MemoryMappedFileAccess access);
static member CreateFromFile : string * System.IO.FileMode * string * int64 * System.IO.MemoryMappedFiles.MemoryMappedFileAccess -> System.IO.MemoryMappedFiles.MemoryMappedFile
[<System.Security.SecurityCritical>]
static member CreateFromFile : string * System.IO.FileMode * string * int64 * System.IO.MemoryMappedFiles.MemoryMappedFileAccess -> System.IO.MemoryMappedFiles.MemoryMappedFile
Public Shared Function CreateFromFile (path As String, mode As FileMode, mapName As String, capacity As Long, access As MemoryMappedFileAccess) As MemoryMappedFile

Parametri

path
String

Percorso del file da mappare.

mode
FileMode

Modalità di accesso che può essere uno qualsiasi dei valori di enumerazione di FileMode ad eccezione di Append.

mapName
String

Nome da assegnare al file di cui è stato eseguito il mapping alla memoria, oppure null per un elemento MemoryMappedFile che non si vuole condividere tra processi.

capacity
Int64

Dimensioni massime, in byte, da allocare per il file mappato alla memoria. Specificare 0 per impostare la capacità sulla dimensione del file su disco.

access
MemoryMappedFileAccess

Uno dei valori di enumerazione che specifica il tipo di accesso consentito al file mappato alla memoria.

Restituisce

File mappato alla memoria con le caratteristiche specificate.

Attributi

Eccezioni

Il parametro mapName è una stringa vuota.

-oppure-

access non è un valore consentito.

-oppure-

path specifica un file vuoto.

-oppure-

access viene specificato come Read e la capacità è maggiore della dimensione del file indicata da path.

-oppure-

mode è Append.

path è null.

capacity è maggiore della dimensione dello spazio degli indirizzi logico.

-oppure-

capacity è minore di zero.

-oppure-

capacity è inferiore alla dimensione del file (ma non zero).

-oppure-

capacity è zero e anche la dimensione del file su disco è zero.

-oppure-

access non è un valore definito di MemoryMappedFileAccess.

-oppure-

Le dimensioni del file indicate da path sono maggiori di capacity.

-oppure-

Si è verificato un errore di I/O.

path supera la lunghezza massima definita dal sistema operativo.

Il chiamante non dispone delle autorizzazioni necessarie per il file.

Commenti

Il mode parametro riguarda il file di origine su disco.

Se capacity è maggiore della dimensione del file su disco, il file sul disco viene aumentato in modo che corrisponda alla capacità specificata anche se non vengono scritti dati nel file mappato alla memoria. Per evitare che si verifichi questo problema, specificare 0 (zero) per la capacità predefinita, che verrà impostata capacity internamente sulle dimensioni del file su disco.

Vedi anche

Si applica a

CreateFromFile(SafeFileHandle, String, Int64, MemoryMappedFileAccess, HandleInheritability, Boolean)

Origine:
MemoryMappedFile.cs
Origine:
MemoryMappedFile.cs

Crea un file mappato alla memoria da un file esistente usando una SafeFileHandle e la modalità di accesso specificata, il nome, l'ereditabilità e la capacità.

public:
 static System::IO::MemoryMappedFiles::MemoryMappedFile ^ CreateFromFile(Microsoft::Win32::SafeHandles::SafeFileHandle ^ fileHandle, System::String ^ mapName, long capacity, System::IO::MemoryMappedFiles::MemoryMappedFileAccess access, System::IO::HandleInheritability inheritability, bool leaveOpen);
public static System.IO.MemoryMappedFiles.MemoryMappedFile CreateFromFile (Microsoft.Win32.SafeHandles.SafeFileHandle fileHandle, string? mapName, long capacity, System.IO.MemoryMappedFiles.MemoryMappedFileAccess access, System.IO.HandleInheritability inheritability, bool leaveOpen);
static member CreateFromFile : Microsoft.Win32.SafeHandles.SafeFileHandle * string * int64 * System.IO.MemoryMappedFiles.MemoryMappedFileAccess * System.IO.HandleInheritability * bool -> System.IO.MemoryMappedFiles.MemoryMappedFile
Public Shared Function CreateFromFile (fileHandle As SafeFileHandle, mapName As String, capacity As Long, access As MemoryMappedFileAccess, inheritability As HandleInheritability, leaveOpen As Boolean) As MemoryMappedFile

Parametri

fileHandle
SafeFileHandle

Oggetto SafeFileHandle nel file esistente. Il chiamante è responsabile della eliminazione fileHandle quando leaveOpen è true (in caso contrario, eliminato automaticamente dall'oggetto MemoryMappedFile).

mapName
String

Nome da assegnare al file di cui è stato eseguito il mapping alla memoria, oppure null per un elemento MemoryMappedFile che non si vuole condividere tra processi.

capacity
Int64

Dimensioni massime, in byte, da allocare per il file mappato alla memoria. Specificare 0 per impostare la capacità sulle dimensioni del file.

access
MemoryMappedFileAccess

Uno dei valori di enumerazione che specifica il tipo di accesso consentito al file mappato alla memoria.

Non è possibile impostare questo parametro su Write.

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.

leaveOpen
Boolean

Valore che indica se chiudere l'handle MemoryMappedFile del file di origine quando viene eliminato.

Restituisce

File mappato alla memoria con le caratteristiche specificate.

Eccezioni

mapName è null o una stringa vuota.

-oppure-

capacity e la lunghezza del file sono pari a zero.

-oppure-

access è impostato su Write, che non è consentito.

-oppure-

access è impostato su Read e capacity è maggiore della lunghezza del file.

fileHandle è null.

capacity è minore di zero.

-oppure-

capacity è inferiore alla dimensione del file.

-oppure-

access non è un valore di enumerazione MemoryMappedFileAccess valido.

-oppure-

inheritability non è un valore di enumerazione HandleInheritability valido.

Si applica a

CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, HandleInheritability, Boolean)

Origine:
MemoryMappedFile.cs
Origine:
MemoryMappedFile.cs
Origine:
MemoryMappedFile.cs

Crea un file mappato alla memoria da un file esistente con la modalità di accesso, il nome, l'ereditabilità e la capacità specificati.

public:
 static System::IO::MemoryMappedFiles::MemoryMappedFile ^ CreateFromFile(System::IO::FileStream ^ fileStream, System::String ^ mapName, long capacity, System::IO::MemoryMappedFiles::MemoryMappedFileAccess access, System::IO::HandleInheritability inheritability, bool leaveOpen);
public static System.IO.MemoryMappedFiles.MemoryMappedFile CreateFromFile (System.IO.FileStream fileStream, string? mapName, long capacity, System.IO.MemoryMappedFiles.MemoryMappedFileAccess access, System.IO.HandleInheritability inheritability, bool leaveOpen);
public static System.IO.MemoryMappedFiles.MemoryMappedFile CreateFromFile (System.IO.FileStream fileStream, string mapName, long capacity, System.IO.MemoryMappedFiles.MemoryMappedFileAccess access, System.IO.HandleInheritability inheritability, bool leaveOpen);
static member CreateFromFile : System.IO.FileStream * string * int64 * System.IO.MemoryMappedFiles.MemoryMappedFileAccess * System.IO.HandleInheritability * bool -> System.IO.MemoryMappedFiles.MemoryMappedFile
Public Shared Function CreateFromFile (fileStream As FileStream, mapName As String, capacity As Long, access As MemoryMappedFileAccess, inheritability As HandleInheritability, leaveOpen As Boolean) As MemoryMappedFile

Parametri

fileStream
FileStream

Flusso di file del file esistente.

mapName
String

Nome da assegnare al file di cui è stato eseguito il mapping alla memoria, oppure null per un elemento MemoryMappedFile che non si vuole condividere tra processi.

capacity
Int64

Dimensioni massime, in byte, da allocare per il file mappato alla memoria. Specificare 0 per impostare la capacità sulle dimensioni di filestream.

access
MemoryMappedFileAccess

Uno dei valori di enumerazione che specifica il tipo di accesso consentito al file mappato alla memoria.

Non è possibile impostare questo parametro su Write.

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.

leaveOpen
Boolean

Valore che indica se chiudere il flusso di file di origne quando MemoryMappedFile viene eliminato.

Restituisce

File mappato alla memoria con le caratteristiche specificate.

Eccezioni

mapName è null o una stringa vuota.

-oppure-

capacity e la lunghezza del file sono pari a zero.

-oppure-

access è impostato sul valore di enumerazione Write o Write che non è consentito.

-oppure-

access è impostato su Read e capacity è maggiore della lunghezza di filestream.

fileStream è null.

capacity è minore di zero.

-oppure-

capacity è inferiore alla dimensione del file.

-oppure-

access non è un valore di enumerazione MemoryMappedFileAccess valido.

-oppure-

inheritability non è un valore di enumerazione HandleInheritability valido.

Si applica a

CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, MemoryMappedFileSecurity, HandleInheritability, Boolean)

Crea un file mappato alla memoria con il nome, la capacità, il tipo di accesso, le autorizzazioni di sicurezza, l'ereditabilità e requisito di eliminazione specificati da un file su disco.

public:
 static System::IO::MemoryMappedFiles::MemoryMappedFile ^ CreateFromFile(System::IO::FileStream ^ fileStream, System::String ^ mapName, long capacity, System::IO::MemoryMappedFiles::MemoryMappedFileAccess access, System::IO::MemoryMappedFiles::MemoryMappedFileSecurity ^ memoryMappedFileSecurity, System::IO::HandleInheritability inheritability, bool leaveOpen);
[System.Security.SecurityCritical]
public static System.IO.MemoryMappedFiles.MemoryMappedFile CreateFromFile (System.IO.FileStream fileStream, string mapName, long capacity, System.IO.MemoryMappedFiles.MemoryMappedFileAccess access, System.IO.MemoryMappedFiles.MemoryMappedFileSecurity memoryMappedFileSecurity, System.IO.HandleInheritability inheritability, bool leaveOpen);
[<System.Security.SecurityCritical>]
static member CreateFromFile : System.IO.FileStream * string * int64 * System.IO.MemoryMappedFiles.MemoryMappedFileAccess * System.IO.MemoryMappedFiles.MemoryMappedFileSecurity * System.IO.HandleInheritability * bool -> System.IO.MemoryMappedFiles.MemoryMappedFile
Public Shared Function CreateFromFile (fileStream As FileStream, mapName As String, capacity As Long, access As MemoryMappedFileAccess, memoryMappedFileSecurity As MemoryMappedFileSecurity, inheritability As HandleInheritability, leaveOpen As Boolean) As MemoryMappedFile

Parametri

fileStream
FileStream

Elemento fileStream per il file di cui eseguire il mapping.

mapName
String

Nome da assegnare al file di cui è stato eseguito il mapping alla memoria, oppure null per un elemento MemoryMappedFile che non si vuole condividere tra processi.

capacity
Int64

Dimensioni massime, in byte, da allocare per il file mappato alla memoria. Specificare 0 per impostare la capacità sulla dimensione del file su disco.

access
MemoryMappedFileAccess

Uno dei valori di enumerazione che specifica il tipo di accesso consentito al file mappato alla memoria.

Non è possibile impostare questo parametro su Write.

memoryMappedFileSecurity
MemoryMappedFileSecurity

Autorizzazioni che è possibile concedere per l'accesso ai file e le operazioni sui file mappati alla memoria.

Questo parametro può essere null.

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.

leaveOpen
Boolean

true per non eliminare fileStream dopo la chiusura di MemoryMappedFile; false per eliminare fileStream.

Restituisce

File mappato alla memoria con le caratteristiche specificate.

Attributi

Eccezioni

Il parametro mapName è una stringa vuota.

-oppure-

capacity e la lunghezza del file sono pari a zero.

-oppure-

access è impostato sul valore di enumerazione Read o Write che non è consentito.

fileStream è null.

capacity è minore di zero.

-oppure-

capacity è inferiore alla dimensione del file.

-oppure-

access non è un valore di enumerazione MemoryMappedFileAccess valido.

-oppure-

inheritability non è un valore di enumerazione HandleInheritability valido.

fileStream è stato chiuso.

access è impostato su ReadWrite quando l'accesso di fileStream è impostato su Read o Write.

mapName esiste già.

Commenti

Se capacity è maggiore delle dimensioni del file su disco, il file su disco viene aumentato in modo che corrisponda alla capacità specificata anche se non vengono scritti dati nel file mappato alla memoria. Per evitare che ciò si verifichi, specificare 0 (zero) per la capacità predefinita, che verrà impostata capacity internamente sulle dimensioni del file su disco.

Vedi anche

Si applica a