Share via


MemoryMappedFile.CreateFromFile Metoda

Definice

Vytvoří soubor mapované paměti z existujícího souboru.

Přetížení

CreateFromFile(String)

Vytvoří soubor mapované paměti ze souboru na disku.

CreateFromFile(String, FileMode)

Vytvoří soubor mapované paměti, který má zadaný režim přístupu ze souboru na disku.

CreateFromFile(String, FileMode, String)

Vytvoří soubor mapované paměti, který má zadaný režim přístupu a název ze souboru na disku.

CreateFromFile(String, FileMode, String, Int64)

Vytvoří soubor mapované paměti, který má zadaný režim přístupu, název a kapacitu ze souboru na disku.

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

Vytvoří soubor mapované paměti, který má zadaný režim přístupu, název, kapacitu a typ přístupu ze souboru na disku.

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

Vytvoří soubor mapované paměti z existujícího souboru pomocí SafeFileHandle a zadaného režimu přístupu, názvu, dědičnosti a kapacity.

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

Vytvoří soubor mapované paměti z existujícího souboru se zadaným režimem přístupu, názvem, dědičností a kapacitou.

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

Vytvoří soubor mapované paměti, který má zadaný název, kapacitu, typ přístupu, oprávnění zabezpečení, dědičnost a požadavek na odstranění ze souboru na disku.

CreateFromFile(String)

Zdroj:
MemoryMappedFile.cs
Zdroj:
MemoryMappedFile.cs
Zdroj:
MemoryMappedFile.cs

Vytvoří soubor mapované paměti ze souboru na disku.

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

Parametry

path
String

Cesta k souboru, který chcete namapovat.

Návraty

Soubor mapované paměti.

Výjimky

path je prázdný řetězec, obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných znaků definovaných metodou GetInvalidFileNameChars() .

-nebo-

path odkazuje na neplatné zařízení.

path je null.

Došlo k vstupně-výstupní chybě.

path překračuje maximální délku definovanou operačním systémem.

Volající nemá požadovaná oprávnění k souboru.

Příklady

Následující příklad používá metodu CreateFromFile k vytvoření souboru mapované paměti a pak vytvoří zobrazení mapované paměti na část extrémně velkého souboru.

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

Viz také

Platí pro

CreateFromFile(String, FileMode)

Zdroj:
MemoryMappedFile.cs
Zdroj:
MemoryMappedFile.cs
Zdroj:
MemoryMappedFile.cs

Vytvoří soubor mapované paměti, který má zadaný režim přístupu ze souboru na disku.

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

Parametry

path
String

Cesta k souboru, který se má mapovat.

mode
FileMode

Režim přístupu; musí být Open.

Návraty

Soubor mapované paměti, který má zadaný režim přístupu.

Výjimky

path je prázdný řetězec, obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných znaků definovaných metodou GetInvalidFileNameChars() .

-nebo-

path odkazuje na neplatné zařízení.

-nebo-

mode je Append.

path je null.

mode je Create, CreateNewnebo Truncate.

-nebo-

mode a OpenOrCreate soubor na disku neexistuje.

-nebo-

Došlo k vstupně-výstupní chybě.

path překračuje maximální délku definovanou operačním systémem.

Volající nemá požadovaná oprávnění k souboru.

Poznámky

Parametr mode se týká zdrojového souboru na disku. K vytvoření souboru mapované paměti ze zdrojového Open souboru na disku můžete použít pouze hodnotu výčtu.

Viz také

Platí pro

CreateFromFile(String, FileMode, String)

Zdroj:
MemoryMappedFile.cs
Zdroj:
MemoryMappedFile.cs
Zdroj:
MemoryMappedFile.cs

Vytvoří soubor mapované paměti, který má zadaný režim přístupu a název ze souboru na disku.

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

Parametry

path
String

Cesta k souboru, který se má mapovat.

mode
FileMode

Režim přístupu; musí být Open.

mapName
String

Název, který chcete přiřadit souboru mapované paměti, nebo null pro MemoryMappedFile soubor, který nechcete sdílet mezi procesy.

Návraty

Soubor mapovaný na paměť se zadaným názvem a režimem přístupu.

Výjimky

path je prázdný řetězec, obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných znaků definovaných metodou GetInvalidFileNameChars() .

-nebo-

path odkazuje na neplatné zařízení.

-nebo-

mapName je prázdný řetězec.

-nebo-

mode je Append.

path je null.

mode je Create, CreateNewnebo Truncate.

-nebo-

mode a OpenOrCreate soubor na disku neexistuje.

-nebo-

Došlo k vstupně-výstupní chybě.

path překračuje maximální délku definovanou operačním systémem.

Volající nemá požadovaná oprávnění k souboru.

Poznámky

Parametr mode se týká zdrojového souboru na disku. K vytvoření souboru mapované paměti ze zdrojového Open souboru na disku můžete použít pouze hodnotu výčtu.

Platí pro

CreateFromFile(String, FileMode, String, Int64)

Zdroj:
MemoryMappedFile.cs
Zdroj:
MemoryMappedFile.cs
Zdroj:
MemoryMappedFile.cs

Vytvoří soubor mapované paměti, který má zadaný režim přístupu, název a kapacitu ze souboru na disku.

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

Parametry

path
String

Cesta k souboru, který se má mapovat.

mode
FileMode

Režim přístupu; může být libovolná hodnota výčtu FileMode s výjimkou Append.

mapName
String

Název, který chcete přiřadit souboru mapované paměti, nebo null pro MemoryMappedFile soubor, který nechcete sdílet mezi procesy.

capacity
Int64

Maximální velikost v bajtech, která se má přidělit souboru mapované paměti. Zadáním hodnoty 0 nastavte kapacitu na velikost souboru na disku.

Návraty

Soubor mapované paměti, který má zadané vlastnosti.

Výjimky

path je prázdný řetězec, obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných znaků definovaných metodou GetInvalidFileNameChars() .

-nebo-

path odkazuje na neplatné zařízení.

-nebo-

mapName je prázdný řetězec.

-nebo-

mode je Append.

path je null.

capacity je větší než velikost logického adresního prostoru.

-nebo-

Hodnota capacity je menší než nula.

-nebo-

capacity je menší než velikost souboru (ale ne nula).

-nebo-

capacity je nula a velikost souboru na disku je také nula.

Došlo k vstupně-výstupní chybě.

path překračuje maximální délku definovanou operačním systémem.

Volající nemá požadovaná oprávnění k souboru.

Poznámky

Parametr mode se týká zdrojového souboru na disku.

Pokud capacity je větší než velikost souboru na disku, zvětší se soubor na disku tak, aby odpovídal zadané kapacitě, i když se do souboru mapované paměti nezapisují žádná data. Chcete-li tomu zabránit, zadejte 0 (nula) jako výchozí kapacitu, která interně nastaví capacity velikost souboru na disku.

Platí pro

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

Zdroj:
MemoryMappedFile.cs
Zdroj:
MemoryMappedFile.cs
Zdroj:
MemoryMappedFile.cs

Vytvoří soubor mapované paměti, který má zadaný režim přístupu, název, kapacitu a typ přístupu ze souboru na disku.

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

Parametry

path
String

Cesta k souboru, který se má mapovat.

mode
FileMode

Režim přístupu; může být libovolná hodnota výčtu FileMode s výjimkou Append.

mapName
String

Název, který chcete přiřadit souboru mapované paměti, nebo null pro MemoryMappedFile soubor, který nechcete sdílet mezi procesy.

capacity
Int64

Maximální velikost v bajtech, která se má přidělit souboru mapované paměti. Zadáním hodnoty 0 nastavte kapacitu na velikost souboru na disku.

access
MemoryMappedFileAccess

Jedna z hodnot výčtu, která určuje typ přístupu povoleného k souboru mapované paměti.

Návraty

Soubor mapované paměti, který má zadané vlastnosti.

Atributy

Výjimky

mapName je prázdný řetězec.

-nebo-

access není povolená hodnota.

-nebo-

path určuje prázdný soubor.

-nebo-

access je zadaný jako Read a kapacita je větší než velikost souboru označeného parametrem path.

-nebo-

mode je Append.

path je null.

capacity je větší než velikost logického adresního prostoru.

-nebo-

Hodnota capacity je menší než nula.

-nebo-

capacity je menší než velikost souboru (ale ne nula).

-nebo-

capacity je nula a velikost souboru na disku je také nula.

-nebo-

access není definovaná MemoryMappedFileAccess hodnota.

-nebo-

Velikost souboru označená hodnotou path je větší než capacity.

-nebo-

Došlo k vstupně-výstupní chybě.

path překračuje maximální délku definovanou operačním systémem.

Volající nemá požadovaná oprávnění k souboru.

Poznámky

Parametr mode se týká zdrojového souboru na disku.

Pokud capacity je větší než velikost souboru na disku, zvětší se soubor na disku tak, aby odpovídal zadané kapacitě, i když se do souboru mapované paměti nezapisují žádná data. Chcete-li tomu zabránit, zadejte 0 (nula) jako výchozí kapacitu, která interně nastaví capacity velikost souboru na disku.

Viz také

Platí pro

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

Zdroj:
MemoryMappedFile.cs
Zdroj:
MemoryMappedFile.cs

Vytvoří soubor mapované paměti z existujícího souboru pomocí SafeFileHandle a zadaného režimu přístupu, názvu, dědičnosti a kapacity.

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

Parametry

fileHandle
SafeFileHandle

Do SafeFileHandle existujícího souboru. Volající je zodpovědný za likvidaci fileHandle , když leaveOpen je true (jinak se automaticky odstraní pomocí MemoryMappedFile).

mapName
String

Název, který chcete přiřadit souboru mapované paměti, nebo null pro MemoryMappedFile soubor, který nechcete sdílet mezi procesy.

capacity
Int64

Maximální velikost v bajtech, která se má přidělit souboru mapované paměti. Zadáním hodnoty 0 nastavte kapacitu na velikost souboru.

access
MemoryMappedFileAccess

Jedna z hodnot výčtu, která určuje typ přístupu povoleného k souboru mapované paměti.

Tento parametr nelze nastavit na Writehodnotu .

inheritability
HandleInheritability

Jedna z hodnot výčtu, která určuje, zda popisovač souboru mapované paměti může být zděděna podřízeným procesem. Výchozí formát je None.

leaveOpen
Boolean

Hodnota, která označuje, zda se má při odstranění zavřít popisovač zdrojového MemoryMappedFile souboru.

Návraty

Soubor mapované paměti, který má zadané vlastnosti.

Výjimky

mapName je null nebo prázdný řetězec.

-nebo-

capacity a délka souboru je nula.

-nebo-

access je nastavená na Write, což není povoleno.

-nebo-

access je nastavená na Read a capacity je větší než délka souboru.

fileHandle je null.

Hodnota capacity je menší než nula.

-nebo-

capacity je menší než velikost souboru.

-nebo-

access není platná MemoryMappedFileAccess hodnota výčtu.

-nebo-

inheritability není platná HandleInheritability hodnota výčtu.

Platí pro

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

Zdroj:
MemoryMappedFile.cs
Zdroj:
MemoryMappedFile.cs
Zdroj:
MemoryMappedFile.cs

Vytvoří soubor mapované paměti z existujícího souboru se zadaným režimem přístupu, názvem, dědičností a kapacitou.

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

Parametry

fileStream
FileStream

Datový proud souboru existujícího souboru.

mapName
String

Název, který chcete přiřadit souboru mapované paměti, nebo null pro MemoryMappedFile soubor, který nechcete sdílet mezi procesy.

capacity
Int64

Maximální velikost v bajtech, která se má přidělit souboru mapované paměti. Zadáním hodnoty 0 nastavte kapacitu na velikost filestream.

access
MemoryMappedFileAccess

Jedna z hodnot výčtu, která určuje typ přístupu povoleného k souboru mapované paměti.

Tento parametr nelze nastavit na Writehodnotu .

inheritability
HandleInheritability

Jedna z hodnot výčtu, která určuje, zda popisovač souboru mapované paměti může být zděděna podřízeným procesem. Výchozí formát je None.

leaveOpen
Boolean

Hodnota, která určuje, zda se má datový proud zdrojového souboru zavřít, když MemoryMappedFile je odstraněn.

Návraty

Soubor mapované paměti, který má zadané vlastnosti.

Výjimky

mapName je null nebo prázdný řetězec.

-nebo-

capacity a délka souboru je nula.

-nebo-

access je nastavena na Write hodnotu výčtu nebo Write , což není povoleno.

-nebo-

access je nastavená na Read hodnotu a capacity je větší než délka parametru filestream.

fileStream je null.

Hodnota capacity je menší než nula.

-nebo-

capacity je menší než velikost souboru.

-nebo-

access není platná MemoryMappedFileAccess hodnota výčtu.

-nebo-

inheritability není platná HandleInheritability hodnota výčtu.

Platí pro

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

Vytvoří soubor mapované paměti, který má zadaný název, kapacitu, typ přístupu, oprávnění zabezpečení, dědičnost a požadavek na odstranění ze souboru na disku.

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

Parametry

fileStream
FileStream

Na fileStream soubor, který chcete namapovat.

mapName
String

Název, který chcete přiřadit souboru mapované paměti, nebo null pro MemoryMappedFile soubor, který nechcete sdílet mezi procesy.

capacity
Int64

Maximální velikost v bajtech, která se má přidělit souboru mapované paměti. Zadáním hodnoty 0 nastavte kapacitu na velikost souboru na disku.

access
MemoryMappedFileAccess

Jedna z hodnot výčtu, která určuje typ přístupu povoleného k souboru mapované paměti.

Tento parametr nelze nastavit na Writehodnotu .

memoryMappedFileSecurity
MemoryMappedFileSecurity

Oprávnění, která lze udělit pro přístup k souborům a operace se soubory mapované paměti.

Tento parametr může být null.

inheritability
HandleInheritability

Jedna z hodnot výčtu, která určuje, zda popisovač souboru mapované paměti může být zděděna podřízeným procesem. Výchozí formát je None.

leaveOpen
Boolean

trueaby se po MemoryMappedFile zavření nelikvidovalifileStream; false aby se vyhodily fileStream.

Návraty

Soubor mapované paměti, který má zadané vlastnosti.

Atributy

Výjimky

mapName je prázdný řetězec.

-nebo-

capacity a délka souboru je nula.

-nebo-

access je nastavena na hodnotu výčtu Read nebo Write , která není povolena.

fileStream je null.

Hodnota capacity je menší než nula.

-nebo-

capacity je menší než velikost souboru.

-nebo-

access není platná MemoryMappedFileAccess hodnota výčtu.

-nebo-

inheritability není platná HandleInheritability hodnota výčtu.

fileStream byl zavřený.

access je nastavená na hodnotu ReadWrite , pokud fileStreamje přístup nastavený na Read nebo Write.

mapName již existuje.

Poznámky

Pokud capacity je větší než velikost souboru na disku, zvětší se soubor na disku tak, aby odpovídal zadané kapacitě, i když se do souboru mapované paměti nezapisují žádná data. Chcete-li tomu zabránit, zadejte 0 (nula) jako výchozí kapacitu, která interně nastaví capacity velikost souboru na disku.

Viz také

Platí pro