MemoryMappedFile.CreateFromFile Metoda

Definice

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

Přetížení

Name Description
CreateFromFile(String)

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

CreateFromFile(String, FileMode)

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

CreateFromFile(String, FileMode, String)

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

CreateFromFile(String, FileMode, String, Int64)

Vytvoří soubor mapovaný v 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ý do paměti se zadaným režimem přístupu, názvem, kapacitou a typem přístupu ze souboru na disku.

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

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

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

Vytvoří soubor mapovaný do paměti z existujícího souboru se zadaným režimem přístupu, názvem, zděditelností a kapacitou.

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

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

CreateFromFile(String)

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

Vytvoří soubor mapovaný do 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ý se má mapovat.

Návraty

Soubor mapovaný do paměti.

Výjimky

path je prázdný řetězec, obsahuje pouze prázdné znaky nebo má 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ého 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
Zdroj:
MemoryMappedFile.cs
Zdroj:
MemoryMappedFile.cs

Vytvoří soubor mapovaný do 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ý do paměti, který má zadaný režim přístupu.

Výjimky

path je prázdný řetězec, obsahuje pouze prázdné znaky nebo má 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 je OpenOrCreate a 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ého paměti ze zdrojového souboru na disku můžete použít pouze Open hodnotu výčtu.

Viz také

Platí pro

CreateFromFile(String, FileMode, String)

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

Vytvoří soubor mapovaný do 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 k souboru mapovanému paměti nebo null k souboru MemoryMappedFile , který nemáte v úmyslu sdílet napříč procesy.

Návraty

Soubor mapovaný do paměti, který má zadaný název a režim přístupu.

Výjimky

path je prázdný řetězec, obsahuje pouze prázdné znaky nebo má 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 je OpenOrCreate a 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ého paměti ze zdrojového souboru na disku můžete použít pouze Open hodnotu výčtu.

Platí pro

CreateFromFile(String, FileMode, String, Int64)

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

Vytvoří soubor mapovaný v 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á z hodnot výčtu FileMode s výjimkou Append.

mapName
String

Název, který chcete přiřadit k souboru mapovanému paměti nebo null k souboru MemoryMappedFile , který nemáte v úmyslu sdílet napříč procesy.

capacity
Int64

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

Návraty

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

Výjimky

path je prázdný řetězec, obsahuje pouze prázdné znaky nebo má 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ýší se velikost souboru na disku tak, aby odpovídal zadané kapacitě, i když se do souboru mapovaného paměti nezapisují žádná data. Pokud tomu chcete zabránit, zadejte pro výchozí kapacitu hodnotu 0 (nula), která bude interně nastavená capacity na velikost souboru na disku.

Platí pro

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

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

Vytvoří soubor mapovaný do paměti se zadaným režimem přístupu, názvem, kapacitou a typem 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á z hodnot výčtu FileMode s výjimkou Append.

mapName
String

Název, který chcete přiřadit k souboru mapovanému paměti nebo null k souboru MemoryMappedFile , který nemáte v úmyslu sdílet napříč procesy.

capacity
Int64

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

access
MemoryMappedFileAccess

Jedna z hodnot výčtu, která určuje typ přístupu povolený pro soubor mapovaný v paměti.

Návraty

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

Atributy

Výjimky

mapName je prázdný řetězec.

nebo

access není povolená hodnota.

nebo

path určuje prázdný soubor.

nebo

access je určena jako Read a kapacita je větší než velikost souboru urč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ého path hodnotou 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ýší se velikost souboru na disku tak, aby odpovídal zadané kapacitě, i když se do souboru mapovaného paměti nezapisují žádná data. Pokud tomu chcete zabránit, zadejte pro výchozí kapacitu hodnotu 0 (nula), která bude interně nastavená capacity na velikost souboru na disku.

Viz také

Platí pro

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

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

Vytvoří soubor mapovaný do paměti z existujícího souboru pomocí SafeFileHandle zadaného režimu přístupu, názvu, zdědě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 vyřazení fileHandleleaveOpentrue (jinak automaticky vyřazuje).MemoryMappedFile

mapName
String

Název, který chcete přiřadit k souboru mapovanému paměti nebo null k souboru MemoryMappedFile , který nemáte v úmyslu sdílet napříč procesy.

capacity
Int64

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

access
MemoryMappedFileAccess

Jedna z hodnot výčtu, která určuje typ přístupu povolený pro soubor mapovaný v paměti.

Tento parametr nelze nastavit na Writehodnotu .

inheritability
HandleInheritability

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

leaveOpen
Boolean

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

Návraty

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

Výjimky

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

nebo

capacity a délka souboru je nula.

nebo

access je nastavena na Writehodnotu , která není povolena.

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
Zdroj:
MemoryMappedFile.cs
Zdroj:
MemoryMappedFile.cs

Vytvoří soubor mapovaný do paměti z existujícího souboru se zadaným režimem přístupu, názvem, zděditelností 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 k souboru mapovanému paměti nebo null k souboru MemoryMappedFile , který nemáte v úmyslu sdílet napříč procesy.

capacity
Int64

Maximální velikost v bajtech, která se má přidělit souboru mapovanému paměti. Zadejte hodnotu 0 pro nastavení kapacity na velikost filestream.

access
MemoryMappedFileAccess

Jedna z hodnot výčtu, která určuje typ přístupu povolený pro soubor mapovaný v paměti.

Tento parametr nelze nastavit na Writehodnotu .

inheritability
HandleInheritability

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

leaveOpen
Boolean

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

Návraty

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

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, Write která není povolena.

nebo

access je nastavena na Read a capacity je větší než délka 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ý do paměti, který má zadaný název, kapacitu, typ přístupu, oprávnění zabezpečení, zděděnost a požadavek na odstranění 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

Soubor fileStream , který se má namapovat.

mapName
String

Název, který chcete přiřadit k souboru mapovanému paměti nebo null k souboru MemoryMappedFile , který nemáte v úmyslu sdílet napříč procesy.

capacity
Int64

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

access
MemoryMappedFileAccess

Jedna z hodnot výčtu, která určuje typ přístupu povolený pro soubor mapovaný v 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 s soubory mapovanými v paměti.

Tento parametr může být null.

inheritability
HandleInheritability

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

leaveOpen
Boolean

true likvidovat fileStream poté, co MemoryMappedFile je uzavřen; false k odstranění fileStream.

Návraty

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

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 ReadWrite , 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 byla uzavřena.

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

mapName již existuje.

Poznámky

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

Viz také

Platí pro