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é 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.
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.
- 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.
- 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.
- 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
.
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
true
aby 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ý.
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.