Compartir a través de


MemoryMappedFile.CreateFromFile Método

Definición

Crea un archivo asignado a la memoria a partir de un archivo existente.

Sobrecargas

CreateFromFile(String)

Crea un archivo asignado a la memoria a partir de un archivo de disco.

CreateFromFile(String, FileMode)

Crea un archivo asignado a la memoria que tiene el modo de acceso especificado de un archivo de disco.

CreateFromFile(String, FileMode, String)

Crea un archivo asignado a la memoria que tiene el modo de acceso y el nombre especificados de un archivo de disco.

CreateFromFile(String, FileMode, String, Int64)

Crea un archivo asignado a la memoria que tiene el modo de acceso, el nombre y la capacidad especificados de un archivo de disco.

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

Crea un archivo asignado a la memoria que tiene el modo de acceso, el nombre, la capacidad y el tipo de acceso especificados de un archivo de disco.

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

Crea un archivo asignado a memoria a partir de un archivo existente mediante y SafeFileHandle el modo de acceso, el nombre, la heredera y la capacidad especificados.

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

Crea un archivo asignado a la memoria a partir de un archivo existente con el modo de acceso, el nombre, la cualidad de heredable y la capacidad que se especifiquen.

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

Crea un archivo asignado a la memoria con el nombre, la capacidad, el tipo de acceso, los permisos de seguridad, la herencia y el requisito de eliminación especificados de un archivo de disco.

CreateFromFile(String)

Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs

Crea un archivo asignado a la memoria a partir de un archivo de 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

Parámetros

path
String

Ruta de acceso al archivo que se va asignar.

Devoluciones

Archivo asignado a la memoria.

Excepciones

path es una cadena vacía, que solo contiene espacios en blanco, o bien, contiene uno o varios de los caracteres no válidos definidos por el método GetInvalidFileNameChars().

O bien

path hace referencia a un dispositivo no válido.

path es null.

Error de E/S.

path supera la longitud máxima definida por el sistema operativo.

El llamador no tiene los permisos necesarios para el archivo.

Ejemplos

En el ejemplo siguiente se usa el CreateFromFile método para crear un archivo asignado a memoria y, a continuación, se crea una vista asignada a memoria en una parte de un archivo extremadamente 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

Consulte también

Se aplica a

CreateFromFile(String, FileMode)

Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs

Crea un archivo asignado a la memoria que tiene el modo de acceso especificado de un archivo de 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

Parámetros

path
String

Ruta de acceso al archivo que se va asignar.

mode
FileMode

Modo de acceso; debe ser Open.

Devoluciones

Archivo asignado a la memoria con el modo de acceso especificado.

Excepciones

path es una cadena vacía, que solo contiene espacios en blanco, o bien, contiene uno o varios de los caracteres no válidos definidos por el método GetInvalidFileNameChars().

O bien

path hace referencia a un dispositivo no válido.

o bien

mode es Append.

path es null.

mode es Create, CreateNew o Truncate.

O bien

mode es OpenOrCreate y el archivo del disco no existe.

o bien

Error de E/S.

path supera la longitud máxima definida por el sistema operativo.

El llamador no tiene los permisos necesarios para el archivo.

Comentarios

El mode parámetro pertenece al archivo de origen en el disco. Solo puede usar el Open valor de enumeración para crear el archivo asignado a memoria desde el archivo de origen en el disco.

Consulte también

Se aplica a

CreateFromFile(String, FileMode, String)

Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs

Crea un archivo asignado a la memoria que tiene el modo de acceso y el nombre especificados de un archivo de 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

Parámetros

path
String

Ruta de acceso al archivo que se va asignar.

mode
FileMode

Modo de acceso; debe ser Open.

mapName
String

Nombre para asignar al archivo asignado a la memoria o null para un MemoryMappedFile que no tiene intención de compartir entre procesos.

Devoluciones

Archivo asignado a la memoria con el nombre y el modo de acceso especificados.

Excepciones

path es una cadena vacía, que solo contiene espacios en blanco, o bien, contiene uno o varios de los caracteres no válidos definidos por el método GetInvalidFileNameChars().

O bien

path hace referencia a un dispositivo no válido.

o bien

mapName es una cadena vacía.

O bien

mode es Append.

path es null.

mode es Create, CreateNew o Truncate.

O bien

mode es OpenOrCreate y el archivo del disco no existe.

o bien

Error de E/S.

path supera la longitud máxima definida por el sistema operativo.

El llamador no tiene los permisos necesarios para el archivo.

Comentarios

El mode parámetro pertenece al archivo de origen en el disco. Solo puede usar el Open valor de enumeración para crear el archivo asignado a memoria desde el archivo de origen en el disco.

Se aplica a

CreateFromFile(String, FileMode, String, Int64)

Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs

Crea un archivo asignado a la memoria que tiene el modo de acceso, el nombre y la capacidad especificados de un archivo de 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

Parámetros

path
String

Ruta de acceso al archivo que se va asignar.

mode
FileMode

Modo de acceso: puede ser cualquiera de los valores de enumeración FileMode excepto Append.

mapName
String

Nombre para asignar al archivo asignado a la memoria o null para un MemoryMappedFile que no tiene intención de compartir entre procesos.

capacity
Int64

Tamaño máximo, en bytes, que se va a asignar al archivo asignado a la memoria. Especifique 0 para establecer la capacidad en el tamaño del archivo de disco.

Devoluciones

Archivo asignado a la memoria que tiene las características especificadas.

Excepciones

path es una cadena vacía, que solo contiene espacios en blanco, o bien, contiene uno o varios de los caracteres no válidos definidos por el método GetInvalidFileNameChars().

O bien

path hace referencia a un dispositivo no válido.

o bien

mapName es una cadena vacía.

O bien

mode es Append.

path es null.

capacity es mayor que el tamaño del espacio de direcciones lógico.

o bien

capacity es menor que cero.

o bien

capacity es menor que el tamaño de archivo (pero no es cero).

O bien

capacity es cero y el tamaño del archivo en disco también es cero.

Error de E/S.

path supera la longitud máxima definida por el sistema operativo.

El llamador no tiene los permisos necesarios para el archivo.

Comentarios

El mode parámetro pertenece al archivo de origen en el disco.

Si capacity es mayor que el tamaño del archivo en el disco, se aumenta el archivo en el disco para que coincida con la capacidad especificada aunque no se escriban datos en el archivo asignado a memoria. Para evitar que esto ocurra, especifique 0 (cero) para la capacidad predeterminada, que se establecerá capacity internamente en el tamaño del archivo en el disco.

Se aplica a

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

Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs

Crea un archivo asignado a la memoria que tiene el modo de acceso, el nombre, la capacidad y el tipo de acceso especificados de un archivo de 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

Parámetros

path
String

Ruta de acceso al archivo que se va asignar.

mode
FileMode

Modo de acceso: puede ser cualquiera de los valores de enumeración FileMode excepto Append.

mapName
String

Nombre para asignar al archivo asignado a la memoria o null para un MemoryMappedFile que no tiene intención de compartir entre procesos.

capacity
Int64

Tamaño máximo, en bytes, que se va a asignar al archivo asignado a la memoria. Especifique 0 para establecer la capacidad en el tamaño del archivo de disco.

access
MemoryMappedFileAccess

Uno de los valores de enumeración que especifica el tipo de acceso permitido para el archivo asignado a la memoria.

Devoluciones

Archivo asignado a la memoria que tiene las características especificadas.

Atributos

Excepciones

mapName es una cadena vacía.

o bien

access no es un valor permitido.

O bien

path especifica un archivo vacío.

O bien

access se especifica como Read y la capacidad es mayor que el tamaño de archivo que indica path.

o bien

mode es Append.

path es null.

capacity es mayor que el tamaño del espacio de direcciones lógico.

o bien

capacity es menor que cero.

o bien

capacity es menor que el tamaño de archivo (pero no es cero).

O bien

capacity es cero y el tamaño del archivo en disco también es cero.

O bien

access no es un valor definido de MemoryMappedFileAccess.

O bien

El tamaño del archivo que indica path es mayor que capacity.

o bien

Error de E/S.

path supera la longitud máxima definida por el sistema operativo.

El llamador no tiene los permisos necesarios para el archivo.

Comentarios

El mode parámetro pertenece al archivo de origen en el disco.

Si capacity es mayor que el tamaño del archivo en el disco, se aumenta el archivo en el disco para que coincida con la capacidad especificada aunque no se escriban datos en el archivo asignado a memoria. Para evitar que esto ocurra, especifique 0 (cero) para la capacidad predeterminada, que se establecerá capacity internamente en el tamaño del archivo en el disco.

Consulte también

Se aplica a

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

Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs

Crea un archivo asignado a memoria a partir de un archivo existente mediante y SafeFileHandle el modo de acceso, el nombre, la heredera y la capacidad especificados.

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

Parámetros

fileHandle
SafeFileHandle

en SafeFileHandle el archivo existente. El autor de la llamada es responsable de eliminar fileHandle cuando leaveOpen es true (de lo contrario, se elimina automáticamente mediante MemoryMappedFile).

mapName
String

Nombre para asignar al archivo asignado a la memoria o null para un MemoryMappedFile que no tiene intención de compartir entre procesos.

capacity
Int64

Tamaño máximo, en bytes, que se va a asignar al archivo asignado a la memoria. Especifique 0 para establecer la capacidad en el tamaño del archivo.

access
MemoryMappedFileAccess

Uno de los valores de enumeración que especifica el tipo de acceso permitido para el archivo asignado a la memoria.

Este parámetro no puede establecerse en Write.

inheritability
HandleInheritability

Uno de los valores de enumeración que especifica si un proceso secundario puede heredar un identificador para el archivo asignado a la memoria. De manera predeterminada, es None.

leaveOpen
Boolean

Valor que indica si se va a cerrar el identificador de archivo de origen cuando se elimina .MemoryMappedFile

Devoluciones

Archivo asignado a la memoria que tiene las características especificadas.

Excepciones

mapName es null o una cadena vacía.

o bien

capacity y la longitud del archivo son cero.

O bien

access se establece en Write, que no se permite.

O bien

access se establece en Read y capacity es mayor que la longitud del archivo.

fileHandle es null.

capacity es menor que cero.

o bien

capacity es menor que el tamaño de archivo.

o bien

access no es un valor de enumeración MemoryMappedFileAccess válido.

o bien

inheritability no es un valor de enumeración HandleInheritability válido.

Se aplica a

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

Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs

Crea un archivo asignado a la memoria a partir de un archivo existente con el modo de acceso, el nombre, la cualidad de heredable y la capacidad que se especifiquen.

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

Parámetros

fileStream
FileStream

Flujo de archivo del archivo existente.

mapName
String

Nombre para asignar al archivo asignado a la memoria o null para un MemoryMappedFile que no tiene intención de compartir entre procesos.

capacity
Int64

Tamaño máximo, en bytes, que se va a asignar al archivo asignado a la memoria. Especifique 0 para establecer la capacidad en el tamaño de filestream.

access
MemoryMappedFileAccess

Uno de los valores de enumeración que especifica el tipo de acceso permitido para el archivo asignado a la memoria.

Este parámetro no puede establecerse en Write.

inheritability
HandleInheritability

Uno de los valores de enumeración que especifica si un proceso secundario puede heredar un identificador para el archivo asignado a la memoria. De manera predeterminada, es None.

leaveOpen
Boolean

Valor que indica si se va a cerrar la secuencia del archivo de origen cuando se elimine MemoryMappedFile.

Devoluciones

Archivo asignado a la memoria que tiene las características especificadas.

Excepciones

mapName es null o una cadena vacía.

o bien

capacity y la longitud del archivo son cero.

O bien

access se establece en el valor de enumeración Write o Write, que no está permitido.

O bien

access se establece en Read y capacity es mayor que la longitud de filestream.

fileStream es null.

capacity es menor que cero.

o bien

capacity es menor que el tamaño de archivo.

o bien

access no es un valor de enumeración MemoryMappedFileAccess válido.

o bien

inheritability no es un valor de enumeración HandleInheritability válido.

Se aplica a

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

Crea un archivo asignado a la memoria con el nombre, la capacidad, el tipo de acceso, los permisos de seguridad, la herencia y el requisito de eliminación especificados de un archivo de 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

Parámetros

fileStream
FileStream

fileStream para el archivo que se va a asignar.

mapName
String

Nombre para asignar al archivo asignado a la memoria o null para un MemoryMappedFile que no tiene intención de compartir entre procesos.

capacity
Int64

Tamaño máximo, en bytes, que se va a asignar al archivo asignado a la memoria. Especifique 0 para establecer la capacidad en el tamaño del archivo de disco.

access
MemoryMappedFileAccess

Uno de los valores de enumeración que especifica el tipo de acceso permitido para el archivo asignado a la memoria.

Este parámetro no puede establecerse en Write.

memoryMappedFileSecurity
MemoryMappedFileSecurity

Permisos que se pueden conceder para el acceso a archivos y las operaciones en los archivos asignados a la memoria.

Este parámetro puede ser null.

inheritability
HandleInheritability

Uno de los valores de enumeración que especifica si un proceso secundario puede heredar un identificador para el archivo asignado a la memoria. De manera predeterminada, es None.

leaveOpen
Boolean

Es true para no eliminar fileStream después de que se cierre el objeto MemoryMappedFile; es false para eliminar fileStream.

Devoluciones

Archivo asignado a la memoria que tiene las características especificadas.

Atributos

Excepciones

mapName es una cadena vacía.

o bien

capacity y la longitud del archivo son cero.

O bien

access se establece en el valor de enumeración Read o Write, que no se permite.

fileStream es null.

capacity es menor que cero.

o bien

capacity es menor que el tamaño de archivo.

o bien

access no es un valor de enumeración MemoryMappedFileAccess válido.

o bien

inheritability no es un valor de enumeración HandleInheritability válido.

Se cerró fileStream.

access se establece en ReadWrite cuando el acceso de fileStream se establece en Read o Write.

mapName ya existe.

Comentarios

Si capacity es mayor que el tamaño del archivo en el disco, el archivo en el disco aumenta para que coincida con la capacidad especificada aunque no se escriban datos en el archivo asignado a memoria. Para evitar que esto ocurra, especifique 0 (cero) para la capacidad predeterminada, que se establecerá capacity internamente en el tamaño del archivo en el disco.

Consulte también

Se aplica a