Partilhar via


MemoryMappedFile.CreateFromFile Método

Definição

Cria um arquivo mapeado em memória de um arquivo existente.

Sobrecargas

CreateFromFile(String)

Cria um arquivo mapeado em memória de um arquivo no disco.

CreateFromFile(String, FileMode)

Cria, de um arquivo no disco, um arquivo mapeado na memória que tem o modo de acesso especificado.

CreateFromFile(String, FileMode, String)

Cria, de um arquivo no disco, um arquivo mapeado em memória que tem o modo de acesso e o nome especificados.

CreateFromFile(String, FileMode, String, Int64)

Cria, de um arquivo no disco, um arquivo mapeado em memória que tem o modo de acesso, o nome e a capacidade especificados.

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

Cria um arquivo mapeado na memória que tem o modo de acesso, o nome, a capacidade e o tipo de acesso especificados de um arquivo no disco.

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

Cria um arquivo mapeado na memória de um arquivo existente usando um SafeFileHandle e o modo de acesso, o nome, a herdabilidade e a capacidade especificados.

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

Cria um arquivo mapeado na memória de um arquivo existente com o modo de acesso, nome, herdabilidade e capacidade especificados.

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

Cria um arquivo mapeado na memória que tem o nome, a capacidade, o tipo de acesso, as permissões de segurança, a herdabilidade e o requisito de descarte especificados.

CreateFromFile(String)

Origem:
MemoryMappedFile.cs
Origem:
MemoryMappedFile.cs
Origem:
MemoryMappedFile.cs

Cria um arquivo mapeado em memória de um arquivo no 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

O caminho para o arquivo a ser mapeado.

Retornos

Um arquivo mapeado em memória.

Exceções

path é uma cadeia de caracteres vazia, contém somente espaço em branco ou tem um ou mais caracteres inválidos, conforme definido pelo método GetInvalidFileNameChars().

- ou -

path refere-se a um dispositivo inválido.

path é null.

Ocorreu um erro de E/S.

path excede o tamanho máximo definido pelo sistema operacional.

O chamador não tem as permissões necessárias para o arquivo.

Exemplos

O exemplo a seguir usa o CreateFromFile método para criar um arquivo mapeado pela memória e, em seguida, cria uma exibição mapeada por memória para uma parte de um arquivo extremamente 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

Confira também

Aplica-se a

CreateFromFile(String, FileMode)

Origem:
MemoryMappedFile.cs
Origem:
MemoryMappedFile.cs
Origem:
MemoryMappedFile.cs

Cria, de um arquivo no disco, um arquivo mapeado na memória que tem o modo de acesso especificado.

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

O caminho para o arquivo a ser mapeado.

mode
FileMode

Modo de acesso; deve ser Open.

Retornos

Um arquivo mapeado na memória que tem o modo de acesso especificado.

Exceções

path é uma cadeia de caracteres vazia, contém somente espaço em branco ou tem um ou mais caracteres inválidos, conforme definido pelo método GetInvalidFileNameChars().

- ou -

path refere-se a um dispositivo inválido.

- ou -

mode é Append.

path é null.

mode é Create, CreateNew ou Truncate.

- ou -

mode é OpenOrCreate e o arquivo em disco não existe.

- ou -

Ocorreu um erro de E/S.

path excede o tamanho máximo definido pelo sistema operacional.

O chamador não tem as permissões necessárias para o arquivo.

Comentários

O mode parâmetro pertence ao arquivo de origem no disco. Você pode usar apenas o Open valor de enumeração para criar o arquivo mapeado na memória do arquivo de origem no disco.

Confira também

Aplica-se a

CreateFromFile(String, FileMode, String)

Origem:
MemoryMappedFile.cs
Origem:
MemoryMappedFile.cs
Origem:
MemoryMappedFile.cs

Cria, de um arquivo no disco, um arquivo mapeado em memória que tem o modo de acesso e o nome especificados.

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

O caminho para o arquivo a ser mapeado.

mode
FileMode

Modo de acesso; deve ser Open.

mapName
String

Um nome a ser atribuído ao arquivo mapeado em memória, ou null para um MemoryMappedFile que você não pretende compartilhar entre processos.

Retornos

Um arquivo mapeado em memória que tem o nome e o modo de acesso especificados.

Exceções

path é uma cadeia de caracteres vazia, contém somente espaço em branco ou tem um ou mais caracteres inválidos, conforme definido pelo método GetInvalidFileNameChars().

- ou -

path refere-se a um dispositivo inválido.

- ou -

mapName é uma cadeia de caracteres vazia.

- ou -

mode é Append.

path é null.

mode é Create, CreateNew ou Truncate.

- ou -

mode é OpenOrCreate e o arquivo em disco não existe.

- ou -

Ocorreu um erro de E/S.

path excede o tamanho máximo definido pelo sistema operacional.

O chamador não tem as permissões necessárias para o arquivo.

Comentários

O mode parâmetro pertence ao arquivo de origem no disco. Você pode usar apenas o Open valor de enumeração para criar o arquivo mapeado na memória do arquivo de origem no disco.

Aplica-se a

CreateFromFile(String, FileMode, String, Int64)

Origem:
MemoryMappedFile.cs
Origem:
MemoryMappedFile.cs
Origem:
MemoryMappedFile.cs

Cria, de um arquivo no disco, um arquivo mapeado em memória que tem o modo de acesso, o nome e a capacidade especificados.

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

O caminho para o arquivo a ser mapeado.

mode
FileMode

Modo de acesso; pode ser qualquer um dos valores de enumeração de FileMode, exceto Append.

mapName
String

Um nome a ser atribuído ao arquivo mapeado em memória, ou null para um MemoryMappedFile que você não pretende compartilhar entre processos.

capacity
Int64

O tamanho máximo, em bytes, a ser alocado para o arquivo mapeado em memória. Especifique 0 para definir a capacidade para o tamanho do arquivo no disco.

Retornos

Um arquivo mapeado na memória que tem as características especificadas.

Exceções

path é uma cadeia de caracteres vazia, contém somente espaço em branco ou tem um ou mais caracteres inválidos, conforme definido pelo método GetInvalidFileNameChars().

- ou -

path refere-se a um dispositivo inválido.

- ou -

mapName é uma cadeia de caracteres vazia.

- ou -

mode é Append.

path é null.

capacity é maior que o tamanho do espaço de endereçamento lógico.

- ou -

capacity é menor que zero.

- ou -

capacity é menor que o tamanho do arquivo (mas não zero).

- ou -

capacity é zero e o tamanho do arquivo em disco também é zero.

Ocorreu um erro de E/S.

path excede o tamanho máximo definido pelo sistema operacional.

O chamador não tem as permissões necessárias para o arquivo.

Comentários

O mode parâmetro pertence ao arquivo de origem no disco.

Se capacity for maior que o tamanho do arquivo no disco, o arquivo no disco será aumentado para corresponder à capacidade especificada, mesmo que nenhum dado seja gravado no arquivo mapeado pela memória. Para evitar que isso ocorra, especifique 0 (zero) para a capacidade padrão, que será definida capacity internamente como o tamanho do arquivo no disco.

Aplica-se a

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

Origem:
MemoryMappedFile.cs
Origem:
MemoryMappedFile.cs
Origem:
MemoryMappedFile.cs

Cria um arquivo mapeado na memória que tem o modo de acesso, o nome, a capacidade e o tipo de acesso especificados de um arquivo no 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

O caminho para o arquivo a ser mapeado.

mode
FileMode

Modo de acesso; pode ser qualquer um dos valores de enumeração de FileMode, exceto Append.

mapName
String

Um nome a ser atribuído ao arquivo mapeado em memória, ou null para um MemoryMappedFile que você não pretende compartilhar entre processos.

capacity
Int64

O tamanho máximo, em bytes, a ser alocado para o arquivo mapeado em memória. Especifique 0 para definir a capacidade para o tamanho do arquivo no disco.

access
MemoryMappedFileAccess

Um dos valores de enumeração que especifica o tipo de acesso permitido para o arquivo mapeado na memória.

Retornos

Um arquivo mapeado na memória que tem as características especificadas.

Atributos

Exceções

mapName é uma cadeia de caracteres vazia.

- ou -

access não é um valor permitido.

- ou -

path especifica um arquivo vazio.

- ou -

access é especificado como Read e capacidade é maior que o tamanho do arquivo indicado por path.

- ou -

mode é Append.

path é null.

capacity é maior que o tamanho do espaço de endereçamento lógico.

- ou -

capacity é menor que zero.

- ou -

capacity é menor que o tamanho do arquivo (mas não zero).

- ou -

capacity é zero e o tamanho do arquivo em disco também é zero.

- ou -

access não um valor de MemoryMappedFileAccess definido.

- ou -

O tamanho do arquivo indicado por path é maior do que capacity.

- ou -

Ocorreu um erro de E/S.

path excede o tamanho máximo definido pelo sistema operacional.

O chamador não tem as permissões necessárias para o arquivo.

Comentários

O mode parâmetro pertence ao arquivo de origem no disco.

Se capacity for maior que o tamanho do arquivo no disco, o arquivo no disco será aumentado para corresponder à capacidade especificada, mesmo que nenhum dado seja gravado no arquivo mapeado na memória. Para evitar que isso ocorra, especifique 0 (zero) para a capacidade padrão, que será definida capacity internamente como o tamanho do arquivo no disco.

Confira também

Aplica-se a

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

Origem:
MemoryMappedFile.cs
Origem:
MemoryMappedFile.cs

Cria um arquivo mapeado em memória de um arquivo existente usando um SafeFileHandle e o modo de acesso, o nome, a herdabilidade e a capacidade 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

O SafeFileHandle para o arquivo existente. O chamador é responsável por descartar fileHandle quando leaveOpen é true (caso contrário, descartado automaticamente pelo MemoryMappedFile).

mapName
String

Um nome a ser atribuído ao arquivo mapeado em memória, ou null para um MemoryMappedFile que você não pretende compartilhar entre processos.

capacity
Int64

O tamanho máximo, em bytes, a ser alocado para o arquivo mapeado em memória. Especifique 0 para definir a capacidade para o tamanho do arquivo.

access
MemoryMappedFileAccess

Um dos valores de enumeração que especifica o tipo de acesso permitido para o arquivo mapeado na memória.

Este parâmetro não pode ser definido como Write.

inheritability
HandleInheritability

Um dos valores de enumeração que especifica se um identificador para o arquivo mapeado em memória pode ser herdado por um processo filho. O padrão é None.

leaveOpen
Boolean

Um valor que indica se o identificador de arquivo de origem deve ser fechado quando o MemoryMappedFile é descartado.

Retornos

Um arquivo mapeado na memória que tem as características especificadas.

Exceções

mapName é null ou é uma cadeia de caracteres vazia.

- ou -

capacity e o tamanho do arquivo são zero.

- ou -

access é definido como Write, o que não é permitido.

-ou-

access é definido Read como e capacity é maior que o comprimento do arquivo.

fileHandle é null.

capacity é menor que zero.

- ou -

capacity é menor que o tamanho do arquivo.

- ou -

access não é um valor de enumeração MemoryMappedFileAccess válido.

- ou -

inheritability não é um valor de enumeração HandleInheritability válido.

Aplica-se a

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

Origem:
MemoryMappedFile.cs
Origem:
MemoryMappedFile.cs
Origem:
MemoryMappedFile.cs

Cria um arquivo mapeado na memória de um arquivo existente com o modo de acesso, nome, herdabilidade e capacidade especificados.

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

O fluxo de arquivo do arquivo existente.

mapName
String

Um nome a ser atribuído ao arquivo mapeado em memória, ou null para um MemoryMappedFile que você não pretende compartilhar entre processos.

capacity
Int64

O tamanho máximo, em bytes, a ser alocado para o arquivo mapeado em memória. Especifique 0 para definir a capacidade para o tamanho do filestream.

access
MemoryMappedFileAccess

Um dos valores de enumeração que especifica o tipo de acesso permitido para o arquivo mapeado na memória.

Este parâmetro não pode ser definido como Write.

inheritability
HandleInheritability

Um dos valores de enumeração que especifica se um identificador para o arquivo mapeado em memória pode ser herdado por um processo filho. O padrão é None.

leaveOpen
Boolean

Um valor que indica se deve fechar o fluxo do arquivo de origem quando o MemoryMappedFile é descartado.

Retornos

Um arquivo mapeado na memória que tem as características especificadas.

Exceções

mapName é null ou é uma cadeia de caracteres vazia.

- ou -

capacity e o tamanho do arquivo são zero.

- ou -

access é definido como o valor de enumeração Write ou Write, o que não é permitido.

- ou -

access é definido como Read e capacity é maior do que o comprimento de filestream.

fileStream é null.

capacity é menor que zero.

- ou -

capacity é menor que o tamanho do arquivo.

- ou -

access não é um valor de enumeração MemoryMappedFileAccess válido.

- ou -

inheritability não é um valor de enumeração HandleInheritability válido.

Aplica-se a

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

Cria um arquivo mapeado na memória que tem o nome, a capacidade, o tipo de acesso, as permissões de segurança, a herdabilidade e o requisito de descarte especificados.

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

O fileStream para o arquivo a ser mapeado.

mapName
String

Um nome a ser atribuído ao arquivo mapeado em memória, ou null para um MemoryMappedFile que você não pretende compartilhar entre processos.

capacity
Int64

O tamanho máximo, em bytes, a ser alocado para o arquivo mapeado em memória. Especifique 0 para definir a capacidade para o tamanho do arquivo no disco.

access
MemoryMappedFileAccess

Um dos valores de enumeração que especifica o tipo de acesso permitido para o arquivo mapeado na memória.

Este parâmetro não pode ser definido como Write.

memoryMappedFileSecurity
MemoryMappedFileSecurity

As permissões que podem ser concedidas para acesso a arquivos e operações em arquivos mapeados em memória.

Esse parâmetro pode ser null.

inheritability
HandleInheritability

Um dos valores de enumeração que especifica se um identificador para o arquivo mapeado em memória pode ser herdado por um processo filho. O padrão é None.

leaveOpen
Boolean

true para não descartar fileStream depois que o MemoryMappedFile for fechado, false para descartar fileStream.

Retornos

Um arquivo mapeado na memória que tem as características especificadas.

Atributos

Exceções

mapName é uma cadeia de caracteres vazia.

- ou -

capacity e o tamanho do arquivo são zero.

- ou -

access é definido como o valor de enumeração Read ou Write, o que não é permitido.

fileStream é null.

capacity é menor que zero.

- ou -

capacity é menor que o tamanho do arquivo.

- ou -

access não é um valor de enumeração MemoryMappedFileAccess válido.

- ou -

inheritability não é um valor de enumeração HandleInheritability válido.

fileStream foi fechado.

access é definido como ReadWrite quando o acesso de fileStream é definido como Read ou Write.

mapName já existe.

Comentários

Se capacity for maior que o tamanho do arquivo no disco, o arquivo no disco será aumentado para corresponder à capacidade especificada, mesmo que nenhum dado seja gravado no arquivo mapeado pela memória. Para evitar que isso ocorra, especifique 0 (zero) para a capacidade padrão, que será definida capacity internamente como o tamanho do arquivo no disco.

Confira também

Aplica-se a