MemoryMappedFile.CreateFromFile Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.
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.
- 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.
- 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.
- 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.
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.
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.