MemoryMappedFile.CreateFromFile Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erstellt eine Speicherabbilddatei aus einer vorhandenen Datei.
Überlädt
CreateFromFile(String) |
Erstellt eine Speicherabbilddatei aus einer Datei auf dem Datenträger. |
CreateFromFile(String, FileMode) |
Erstellt eine im Speicher abgebildete Datei mit dem angegebenen Zugriffsmodus aus einer Datei auf dem Datenträger. |
CreateFromFile(String, FileMode, String) |
Erstellt eine im Speicher abgebildete Datei mit den angegebenen Werten für Zugriffsmodus und Name aus einer Datei auf dem Datenträger. |
CreateFromFile(String, FileMode, String, Int64) |
Erstellt eine im Speicher abgebildete Datei mit den angegebenen Werten für Zugriffsmodus, Name und Kapazität aus einer Datei auf dem Datenträger. |
CreateFromFile(String, FileMode, String, Int64, MemoryMappedFileAccess) |
Erstellt eine im Speicher abgebildete Datei mit den angegebenen Werten für Zugriffsmodus, Name, Kapazität und Zugriffstyp aus einer Datei auf dem Datenträger. |
CreateFromFile(SafeFileHandle, String, Int64, MemoryMappedFileAccess, HandleInheritability, Boolean) |
Erstellt eine im Speicher zugeordnete Datei aus einer vorhandenen Datei mit einem SafeFileHandle und dem angegebenen Zugriffsmodus, dem angegebenen Namen, der Vererbbarkeit und der angegebenen Kapazität. |
CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, HandleInheritability, Boolean) |
Erstellt eine im Speicher abgebildete Datei aus einer vorhandenen Datei mit dem angegebenen Zugriffsmodus, den angegebenen Namen, der angegebenen Vererbbarkeit und Kapazität. |
CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, MemoryMappedFileSecurity, HandleInheritability, Boolean) |
Erstellt eine im Speicher abgebildete Datei mit den angegebenen Werten für Name, Kapazität, Zugriffstyp, Sicherheitsberechtigungen, Vererbbarkeit und Freigabeanforderung aus einer Datei auf dem Datenträger. |
CreateFromFile(String)
- Quelle:
- MemoryMappedFile.cs
- Quelle:
- MemoryMappedFile.cs
- Quelle:
- MemoryMappedFile.cs
Erstellt eine Speicherabbilddatei aus einer Datei auf dem Datenträger.
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
Parameter
- path
- String
Der Pfad der abzubildenden Datei.
Gibt zurück
Eine Speicherabbilddatei.
Ausnahmen
path
ist eine leere Zeichenfolge, enthält nur Leerraum oder mindestens ein gemäß der Definition von GetInvalidFileNameChars()-Methode ungültiges Zeichen.
- oder -
path
verweist auf ein ungültiges Gerät.
path
ist null
.
E/A-Fehler
path
übersteigt die vom Betriebssystem definierte maximale Länge.
Der Aufrufer verfügt nicht über die erforderlichen Berechtigungen für die Datei.
Beispiele
Im folgenden Beispiel wird die CreateFromFile -Methode verwendet, um eine Datei mit Speicherzuordnung zu erstellen, und dann eine speicherabbildete Ansicht für einen Teil einer extrem großen Datei.
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
Weitere Informationen
Gilt für:
CreateFromFile(String, FileMode)
- Quelle:
- MemoryMappedFile.cs
- Quelle:
- MemoryMappedFile.cs
- Quelle:
- MemoryMappedFile.cs
Erstellt eine im Speicher abgebildete Datei mit dem angegebenen Zugriffsmodus aus einer Datei auf dem Datenträger.
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
Parameter
- path
- String
Der Pfad der abzubildenden Datei.
Gibt zurück
Eine im Speicher abgebildete Datei mit dem angegebenen Zugriffsmodus.
Ausnahmen
path
ist eine leere Zeichenfolge, enthält nur Leerraum oder mindestens ein gemäß der Definition von GetInvalidFileNameChars()-Methode ungültiges Zeichen.
- oder -
path
verweist auf ein ungültiges Gerät.
- oder -
mode
ist Append.
path
ist null
.
mode
ist Create, CreateNew oder Truncate.
- oder -
mode
ist OpenOrCreate und die Datei auf dem Datenträger nicht vorhanden ist.
- oder -
E/A-Fehler
path
übersteigt die vom Betriebssystem definierte maximale Länge.
Der Aufrufer verfügt nicht über die erforderlichen Berechtigungen für die Datei.
Hinweise
Der mode
Parameter bezieht sich auf die Quelldatei auf dem Datenträger. Sie können nur den Open Enumerationswert verwenden, um die im Arbeitsspeicher zugeordnete Datei aus der Quelldatei auf dem Datenträger zu erstellen.
Weitere Informationen
Gilt für:
CreateFromFile(String, FileMode, String)
- Quelle:
- MemoryMappedFile.cs
- Quelle:
- MemoryMappedFile.cs
- Quelle:
- MemoryMappedFile.cs
Erstellt eine im Speicher abgebildete Datei mit den angegebenen Werten für Zugriffsmodus und Name aus einer Datei auf dem Datenträger.
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
Parameter
- path
- String
Der Pfad der abzubildenden Datei.
- mapName
- String
Ein Name, der der im Speicher abgebildeten Datei zugewiesen werden soll, oder null
für eine MemoryMappedFile, die Sie nicht für mehrere Vorgänge freigeben möchten.
Gibt zurück
Eine im Speicher abgebildete Datei mit den angegebenen Werten für Name und Zugriffsmodus.
Ausnahmen
path
ist eine leere Zeichenfolge, enthält nur Leerraum oder mindestens ein gemäß der Definition von GetInvalidFileNameChars()-Methode ungültiges Zeichen.
- oder -
path
verweist auf ein ungültiges Gerät.
- oder -
mapName
ist eine leere Zeichenfolge.
- oder -
mode
ist Append.
path
ist null
.
mode
ist Create, CreateNew oder Truncate.
- oder -
mode
ist OpenOrCreate und die Datei auf dem Datenträger nicht vorhanden ist.
- oder -
E/A-Fehler
path
übersteigt die vom Betriebssystem definierte maximale Länge.
Der Aufrufer verfügt nicht über die erforderlichen Berechtigungen für die Datei.
Hinweise
Der mode
Parameter bezieht sich auf die Quelldatei auf dem Datenträger. Sie können nur den Open Enumerationswert verwenden, um die im Arbeitsspeicher zugeordnete Datei aus der Quelldatei auf dem Datenträger zu erstellen.
Gilt für:
CreateFromFile(String, FileMode, String, Int64)
- Quelle:
- MemoryMappedFile.cs
- Quelle:
- MemoryMappedFile.cs
- Quelle:
- MemoryMappedFile.cs
Erstellt eine im Speicher abgebildete Datei mit den angegebenen Werten für Zugriffsmodus, Name und Kapazität aus einer Datei auf dem Datenträger.
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
Parameter
- path
- String
Der Pfad der abzubildenden Datei.
- mapName
- String
Ein Name, der der im Speicher abgebildeten Datei zugewiesen werden soll, oder null
für eine MemoryMappedFile, die Sie nicht für mehrere Vorgänge freigeben möchten.
- capacity
- Int64
Die maximale Größe (in Bytes), die für die Speicherabbilddatei reserviert werden soll. Geben Sie 0 an, um die Kapazität auf die Größe der Datei auf dem Datenträger festzulegen.
Gibt zurück
Eine Speicherabbilddatei, die die angegebenen Merkmale aufweist.
Ausnahmen
path
ist eine leere Zeichenfolge, enthält nur Leerraum oder mindestens ein gemäß der Definition von GetInvalidFileNameChars()-Methode ungültiges Zeichen.
- oder -
path
verweist auf ein ungültiges Gerät.
- oder -
mapName
ist eine leere Zeichenfolge.
- oder -
mode
ist Append.
path
ist null
.
capacity
ist größer als die Größe des logischen Adressbereichs.
- oder -
capacity
ist kleiner als Null.
- oder -
capacity
ist kleiner als die Dateigröße (aber nicht null).
- oder -
capacity
ist 0 (null), und die Größe der Datei auf dem Datenträger ist auch 0 (null).
E/A-Fehler
path
übersteigt die vom Betriebssystem definierte maximale Länge.
Der Aufrufer verfügt nicht über die erforderlichen Berechtigungen für die Datei.
Hinweise
Der mode
Parameter bezieht sich auf die Quelldatei auf dem Datenträger.
Wenn capacity
größer als die Größe der Datei auf dem Datenträger ist, wird die Datei auf dem Datenträger so erhöht, dass sie der angegebenen Kapazität entspricht, auch wenn keine Daten in die im Arbeitsspeicher zugeordnete Datei geschrieben werden. Um dies zu verhindern, geben Sie 0 (null) für die Standardkapazität an, die intern auf die Größe der Datei auf dem Datenträger festgelegt capacity
wird.
Gilt für:
CreateFromFile(String, FileMode, String, Int64, MemoryMappedFileAccess)
- Quelle:
- MemoryMappedFile.cs
- Quelle:
- MemoryMappedFile.cs
- Quelle:
- MemoryMappedFile.cs
Erstellt eine im Speicher abgebildete Datei mit den angegebenen Werten für Zugriffsmodus, Name, Kapazität und Zugriffstyp aus einer Datei auf dem Datenträger.
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
Parameter
- path
- String
Der Pfad der abzubildenden Datei.
- mapName
- String
Ein Name, der der im Speicher abgebildeten Datei zugewiesen werden soll, oder null
für eine MemoryMappedFile, die Sie nicht für mehrere Vorgänge freigeben möchten.
- capacity
- Int64
Die maximale Größe (in Bytes), die für die Speicherabbilddatei reserviert werden soll. Geben Sie 0 an, um die Kapazität auf die Größe der Datei auf dem Datenträger festzulegen.
- access
- MemoryMappedFileAccess
Einer der Enumerationswerte, der den zulässigen Zugriffstyp für die Speicherabbilddatei angibt.
Gibt zurück
Eine Speicherabbilddatei, die die angegebenen Merkmale aufweist.
- Attribute
Ausnahmen
mapName
ist eine leere Zeichenfolge.
- oder -
access
ist kein zulässiger Wert.
- oder -
path
gibt eine leere Datei an.
- oder -
access
wird als Read angegeben und die Kapazität ist höer als die Größe der von path
angegebenen Datei.
- oder -
mode
ist Append.
path
ist null
.
capacity
ist größer als die Größe des logischen Adressbereichs.
- oder -
capacity
ist kleiner als Null.
- oder -
capacity
ist kleiner als die Dateigröße (aber nicht null).
- oder -
capacity
ist 0 (null), und die Größe der Datei auf dem Datenträger ist auch 0 (null).
- oder -
access
ist kein definierter MemoryMappedFileAccess-Wert.
- oder -
Die Größer der von path
angegebenen Datei ist größer als capacity
.
path
übersteigt die vom Betriebssystem definierte maximale Länge.
Der Aufrufer verfügt nicht über die erforderlichen Berechtigungen für die Datei.
Hinweise
Der mode
Parameter bezieht sich auf die Quelldatei auf dem Datenträger.
Wenn capacity
die Größe der Datei auf dem Datenträger überschreitet, wird die Datei auf dem Datenträger so erhöht, dass sie der angegebenen Kapazität entspricht, auch wenn keine Daten in die Speicherzuordnungsdatei geschrieben werden. Um dies zu verhindern, geben Sie 0 (Null) für die Standardkapazität an, die intern auf die Größe der Datei auf dem Datenträger festgelegt capacity
wird.
Weitere Informationen
Gilt für:
CreateFromFile(SafeFileHandle, String, Int64, MemoryMappedFileAccess, HandleInheritability, Boolean)
- Quelle:
- MemoryMappedFile.cs
- Quelle:
- MemoryMappedFile.cs
Erstellt eine Speicherzuordnungsdatei aus einer vorhandenen Datei mit einem SafeFileHandle und dem angegebenen Zugriffsmodus, Namen, Vererbbarkeit und Kapazität.
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
Parameter
- fileHandle
- SafeFileHandle
Der SafeFileHandle zur vorhandenen Datei. Der Aufrufer ist für die Entsorgung fileHandle
verantwortlich, wenn leaveOpen
ist true
(andernfalls wird automatisch vom MemoryMappedFileentsorgt).
- mapName
- String
Ein Name, der der im Speicher abgebildeten Datei zugewiesen werden soll, oder null
für eine MemoryMappedFile, die Sie nicht für mehrere Vorgänge freigeben möchten.
- capacity
- Int64
Die maximale Größe (in Bytes), die für die Speicherabbilddatei reserviert werden soll. Geben Sie 0 an, um die Kapazität auf die Größe der Datei festzulegen.
- access
- MemoryMappedFileAccess
Einer der Enumerationswerte, der den zulässigen Zugriffstyp für die Speicherabbilddatei angibt.
Dieser Parameter kann nicht auf Write festgelegt werden.
- inheritability
- HandleInheritability
Einer der Enumerationswerte, der angibt, ob ein Handle auf die Speicherabbilddatei von einem untergeordneten Prozess geerbt werden kann. Der Standardwert ist None.
- leaveOpen
- Boolean
Ein Wert, der angibt, ob das Quelldateihandle geschlossen werden soll, wenn das MemoryMappedFile entfernt wird.
Gibt zurück
Eine Speicherabbilddatei, die die angegebenen Merkmale aufweist.
Ausnahmen
Der mapName
ist null
oder eine leere Zeichenfolge.
- oder -
capacity
und die Länge der Datei sind 0 (null).
- oder -
access
ist auf Writefestgelegt, was nicht zulässig ist.
Oder
access
ist auf Read festgelegt und capacity
ist größer als die Länge der Datei.
fileHandle
ist null
.
capacity
ist kleiner als Null.
- oder -
capacity
ist kleiner als die Dateigröße.
- oder -
access
ist kein gültiger MemoryMappedFileAccess-Enumerationswert.
- oder -
inheritability
ist kein gültiger HandleInheritability-Enumerationswert.
Gilt für:
CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, HandleInheritability, Boolean)
- Quelle:
- MemoryMappedFile.cs
- Quelle:
- MemoryMappedFile.cs
- Quelle:
- MemoryMappedFile.cs
Erstellt eine im Speicher abgebildete Datei aus einer vorhandenen Datei mit dem angegebenen Zugriffsmodus, den angegebenen Namen, der angegebenen Vererbbarkeit und Kapazität.
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
Parameter
- fileStream
- FileStream
Der Dateistream der angegebenen Datei.
- mapName
- String
Ein Name, der der im Speicher abgebildeten Datei zugewiesen werden soll, oder null
für eine MemoryMappedFile, die Sie nicht für mehrere Vorgänge freigeben möchten.
- capacity
- Int64
Die maximale Größe (in Bytes), die für die Speicherabbilddatei reserviert werden soll. Geben Sie 0 an, um die Kapazität auf die Größe von filestream
festzulegen.
- access
- MemoryMappedFileAccess
Einer der Enumerationswerte, der den zulässigen Zugriffstyp für die Speicherabbilddatei angibt.
Dieser Parameter kann nicht auf Write festgelegt werden.
- inheritability
- HandleInheritability
Einer der Enumerationswerte, der angibt, ob ein Handle auf die Speicherabbilddatei von einem untergeordneten Prozess geerbt werden kann. Der Standardwert ist None.
- leaveOpen
- Boolean
Dieser Wert gibt an, ob der Stream der Quelldatei geschlossen werden soll, wenn MemoryMappedFile freigegeben wird.
Gibt zurück
Eine Speicherabbilddatei, die die angegebenen Merkmale aufweist.
Ausnahmen
Der mapName
ist null
oder eine leere Zeichenfolge.
- oder -
capacity
und die Länge der Datei sind 0 (null).
- oder -
access
ist auf den Enumerationswert Write oder Write festgelegt. Dies ist nicht erlaubt.
- oder -
access
ist auf Read festgelegt, und capacity
ist größer als die Länge von filestream
.
fileStream
ist null
.
capacity
ist kleiner als Null.
- oder -
capacity
ist kleiner als die Dateigröße.
- oder -
access
ist kein gültiger MemoryMappedFileAccess-Enumerationswert.
- oder -
inheritability
ist kein gültiger HandleInheritability-Enumerationswert.
Gilt für:
CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, MemoryMappedFileSecurity, HandleInheritability, Boolean)
Erstellt eine im Speicher abgebildete Datei mit den angegebenen Werten für Name, Kapazität, Zugriffstyp, Sicherheitsberechtigungen, Vererbbarkeit und Freigabeanforderung aus einer Datei auf dem Datenträger.
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
Parameter
- fileStream
- FileStream
Der fileStream
für die zuzuordnende Datei.
- mapName
- String
Ein Name, der der im Speicher abgebildeten Datei zugewiesen werden soll, oder null
für eine MemoryMappedFile, die Sie nicht für mehrere Vorgänge freigeben möchten.
- capacity
- Int64
Die maximale Größe (in Bytes), die für die Speicherabbilddatei reserviert werden soll. Geben Sie 0 an, um die Kapazität auf die Größe der Datei auf dem Datenträger festzulegen.
- access
- MemoryMappedFileAccess
Einer der Enumerationswerte, der den zulässigen Zugriffstyp für die Speicherabbilddatei angibt.
Dieser Parameter kann nicht auf Write festgelegt werden.
- memoryMappedFileSecurity
- MemoryMappedFileSecurity
Die Berechtigungen, die für den Dateizugriff und für Vorgänge für Speicherabbilddateien gewährt werden können.
Dieser Parameter kann null
sein.
- inheritability
- HandleInheritability
Einer der Enumerationswerte, der angibt, ob ein Handle auf die Speicherabbilddatei von einem untergeordneten Prozess geerbt werden kann. Der Standardwert ist None.
- leaveOpen
- Boolean
true
, um fileStream
nicht freizugeben, nachdem MemoryMappedFile geschlossen wurde, false
, um fileStream
freizugeben.
Gibt zurück
Eine Speicherabbilddatei, die die angegebenen Merkmale aufweist.
- Attribute
Ausnahmen
mapName
ist eine leere Zeichenfolge.
- oder -
capacity
und die Länge der Datei sind 0 (null).
- oder -
access
wird auf den Enumerationswert Read oder Write festgelegt, der nicht zulässig ist.
fileStream
ist null
.
capacity
ist kleiner als Null.
- oder -
capacity
ist kleiner als die Dateigröße.
- oder -
access
ist kein gültiger MemoryMappedFileAccess-Enumerationswert.
- oder -
inheritability
ist kein gültiger HandleInheritability-Enumerationswert.
fileStream
wurde geschlossen.
access
wird auf ReadWrite festgelegt, wenn der Zugriff von fileStream
auf Read oder Write festgelegt wird.
mapName
ist bereits vorhanden.
Hinweise
Wenn capacity
größer als die Größe der Datei auf dem Datenträger ist, wird die Datei auf dem Datenträger so erhöht, dass sie der angegebenen Kapazität entspricht, auch wenn keine Daten in die im Arbeitsspeicher zugeordnete Datei geschrieben werden. Um dies zu verhindern, geben Sie 0 (null) für die Standardkapazität an, die intern auf die Größe der Datei auf dem Datenträger festgelegt capacity
wird.