MemoryMappedFile.CreateFromFile MemoryMappedFile.CreateFromFile MemoryMappedFile.CreateFromFile MemoryMappedFile.CreateFromFile Method

Definition

Erstellt eine Speicherabbilddatei aus einer vorhandenen Datei.Creates a memory-mapped file from an existing file.

Überlädt

CreateFromFile(String) CreateFromFile(String) CreateFromFile(String) CreateFromFile(String)

Erstellt eine Speicherabbilddatei aus einer Datei auf dem Datenträger.Creates a memory-mapped file from a file on disk.

CreateFromFile(String, FileMode) CreateFromFile(String, FileMode) CreateFromFile(String, FileMode) CreateFromFile(String, FileMode)

Erstellt eine im Speicher abgebildete Datei mit dem angegebenen Zugriffsmodus aus einer Datei auf dem Datenträger.Creates a memory-mapped file that has the specified access mode from a file on disk.

CreateFromFile(String, FileMode, String) CreateFromFile(String, FileMode, String) CreateFromFile(String, FileMode, String) 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.Creates a memory-mapped file that has the specified access mode and name from a file on disk.

CreateFromFile(String, FileMode, String, Int64) CreateFromFile(String, FileMode, String, Int64) CreateFromFile(String, FileMode, String, Int64) 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.Creates a memory-mapped file that has the specified access mode, name, and capacity from a file on disk.

CreateFromFile(String, FileMode, String, Int64, MemoryMappedFileAccess) CreateFromFile(String, FileMode, String, Int64, MemoryMappedFileAccess) CreateFromFile(String, FileMode, String, Int64, MemoryMappedFileAccess) 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.Creates a memory-mapped file that has the specified access mode, name, capacity, and access type from a file on disk.

CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, HandleInheritability, Boolean) CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, HandleInheritability, Boolean) 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.Creates a memory-mapped file from an existing file with the specified access mode, name, inheritability, and capacity.

CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, MemoryMappedFileSecurity, HandleInheritability, Boolean) CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, MemoryMappedFileSecurity, HandleInheritability, Boolean) 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.Creates a memory-mapped file that has the specified name, capacity, access type, security permissions, inheritability, and disposal requirement from a file on disk.

CreateFromFile(String) CreateFromFile(String) CreateFromFile(String) CreateFromFile(String)

Erstellt eine Speicherabbilddatei aus einer Datei auf dem Datenträger.Creates a memory-mapped file from a file on disk.

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 String String String

Der Pfad der abzubildenden Datei.The path to file to map.

Gibt zurück

Eine Speicherabbilddatei.A memory-mapped file.

Ausnahmen

path ist eine leere Zeichenfolge, enthält nur Leerraum oder mindestens ein gemäß der Definition von GetInvalidFileNameChars()-Methode ungültiges Zeichen.path is an empty string, contains only white space, or has one or more invalid characters, as defined by the GetInvalidFileNameChars() method.

- oder --or- path verweist auf ein ungültiges Gerät.path refers to an invalid device.

Ein E/A-Fehler ist aufgetreten.An I/O error occurred.

path übersteigt die vom Betriebssystem definierte maximale Länge.path exceeds the maximum length defined by the operating system.

Der Aufrufer verfügt nicht über die erforderlichen Berechtigungen für die Datei.The caller does not have the required permissions for the file.

Beispiele

Im folgenden Beispiel wird die CreateFromFile Methode zum Erstellen einer speicherzugeordneten Datei und erstellt dann ein Speicherabbild für einen Teil einer sehr großen Datei.The following example uses the CreateFromFile method to create a memory-mapped file, and then creates a memory-mapped view to a portion of an extremely large file.

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
Siehe auch

CreateFromFile(String, FileMode) CreateFromFile(String, FileMode) CreateFromFile(String, FileMode) CreateFromFile(String, FileMode)

Erstellt eine im Speicher abgebildete Datei mit dem angegebenen Zugriffsmodus aus einer Datei auf dem Datenträger.Creates a memory-mapped file that has the specified access mode from a file on disk.

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 String String String

Der Pfad der abzubildenden Datei.The path to the file to map.

mode
FileMode FileMode FileMode FileMode

Der Zugriffsmodus. Muss Open sein.Access mode; must be Open.

Gibt zurück

Eine im Speicher abgebildete Datei mit dem angegebenen Zugriffsmodus.A memory-mapped file that has the specified access mode.

Ausnahmen

path ist eine leere Zeichenfolge, enthält nur Leerraum oder mindestens ein gemäß der Definition von GetInvalidFileNameChars()-Methode ungültiges Zeichen.path is an empty string, contains only white space, or has one or more invalid characters, as defined by the GetInvalidFileNameChars() method.

- oder --or- path verweist auf ein ungültiges Gerät.path refers to an invalid device.

- oder --or- mode ist Append.mode is Append.

mode ist Create, CreateNew oder Truncate.mode is Create, CreateNew, or Truncate.

- oder --or- mode ist OpenOrCreate und die Datei auf dem Datenträger nicht vorhanden ist.mode is OpenOrCreate and the file on disk does not exist.

- oder --or- Ein E/A-Fehler ist aufgetreten.An I/O error occurred.

path übersteigt die vom Betriebssystem definierte maximale Länge.path exceeds the maximum length defined by the operating system.

Der Aufrufer verfügt nicht über die erforderlichen Berechtigungen für die Datei.The caller does not have the required permissions for the file.

Hinweise

Die mode Parameter bezieht sich auf die die Quelldatei auf dem Datenträger.The mode parameter pertains to the source file on disk. Sie können nur die Open Enumerationswert, der im Speicher abgebildeten Datei aus der Quelldatei auf dem Datenträger zu erstellen.You can use only the Open enumeration value to create the memory-mapped file from the source file on disk.

Siehe auch

CreateFromFile(String, FileMode, String) CreateFromFile(String, FileMode, String) CreateFromFile(String, FileMode, String) 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.Creates a memory-mapped file that has the specified access mode and name from a file on disk.

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);
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 String String String

Der Pfad der abzubildenden Datei.The path to the file to map.

mode
FileMode FileMode FileMode FileMode

Der Zugriffsmodus. Muss Open sein.Access mode; must be Open.

mapName
String String String 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.A name to assign to the memory-mapped file, or null for a MemoryMappedFile that you do not intend to share across processes.

Gibt zurück

Eine im Speicher abgebildete Datei mit den angegebenen Werten für Name und Zugriffsmodus.A memory-mapped file that has the specified name and access mode.

Ausnahmen

path ist eine leere Zeichenfolge, enthält nur Leerraum oder mindestens ein gemäß der Definition von GetInvalidFileNameChars()-Methode ungültiges Zeichen.path is an empty string, contains only white space, or has one or more invalid characters, as defined by the GetInvalidFileNameChars() method.

- oder --or- path verweist auf ein ungültiges Gerät.path refers to an invalid device.

- oder --or- mapName ist eine leere Zeichenfolge.mapName is an empty string.

- oder --or- mode ist Append.mode is Append.

mode ist Create, CreateNew oder Truncate.mode is Create, CreateNew, or Truncate.

- oder --or- mode ist OpenOrCreate und die Datei auf dem Datenträger nicht vorhanden ist.mode is OpenOrCreate and the file on disk does not exist.

- oder --or- Ein E/A-Fehler ist aufgetreten.An I/O error occurred.

path übersteigt die vom Betriebssystem definierte maximale Länge.path exceeds the maximum length defined by the operating system.

Der Aufrufer verfügt nicht über die erforderlichen Berechtigungen für die Datei.The caller does not have the required permissions for the file.

Hinweise

Die mode Parameter bezieht sich auf die die Quelldatei auf dem Datenträger.The mode parameter pertains to the source file on disk. Sie können nur die Open Enumerationswert, der im Speicher abgebildeten Datei aus der Quelldatei auf dem Datenträger zu erstellen.You can use only the Open enumeration value to create the memory-mapped file from the source file on disk.

CreateFromFile(String, FileMode, String, Int64) CreateFromFile(String, FileMode, String, Int64) CreateFromFile(String, FileMode, String, Int64) 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.Creates a memory-mapped file that has the specified access mode, name, and capacity from a file on disk.

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);
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 String String String

Der Pfad der abzubildenden Datei.The path to the file to map.

mode
FileMode FileMode FileMode FileMode

Zugriffsmodus; kann einer der FileMode-Enumerationswerte, außer Append, sein.Access mode; can be any of the FileMode enumeration values except Append.

mapName
String String String 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.A name to assign to the memory-mapped file, or null for a MemoryMappedFile that you do not intend to share across processes.

capacity
Int64 Int64 Int64 Int64

Die maximale Größe (in Bytes), die für die Speicherabbilddatei reserviert werden soll.The maximum size, in bytes, to allocate to the memory-mapped file. Geben Sie 0 an, um die Kapazität auf die Größe der Datei auf dem Datenträger festzulegen.Specify 0 to set the capacity to the size of the file on disk.

Gibt zurück

Eine Speicherabbilddatei, die die angegebenen Merkmale aufweist.A memory-mapped file that has the specified characteristics.

Ausnahmen

path ist eine leere Zeichenfolge, enthält nur Leerraum oder mindestens ein gemäß der Definition von GetInvalidFileNameChars()-Methode ungültiges Zeichen.path is an empty string, contains only white space, or has one or more invalid characters, as defined by the GetInvalidFileNameChars() method.

- oder --or- path verweist auf ein ungültiges Gerät.path refers to an invalid device.

- oder --or- mapName ist eine leere Zeichenfolge.mapName is an empty string.

- oder --or- mode ist Append.mode is Append.

capacity ist größer als die Größe des logischen Adressbereichs.capacity is greater than the size of the logical address space.

- oder --or- capacity ist kleiner als 0.capacity is less than zero.

- oder --or- capacity ist kleiner als die Dateigröße (aber nicht null).capacity is less than the file size (but not zero).

- oder --or- capacity ist 0 (null), und die Größe der Datei auf dem Datenträger ist auch 0 (null).capacity is zero, and the size of the file on disk is also zero.

Ein E/A-Fehler ist aufgetreten.An I/O error occurred.

path übersteigt die vom Betriebssystem definierte maximale Länge.path exceeds the maximum length defined by the operating system.

Der Aufrufer verfügt nicht über die erforderlichen Berechtigungen für die Datei.The caller does not have the required permissions for the file.

Hinweise

Die mode Parameter bezieht sich auf die die Quelldatei auf dem Datenträger.The mode parameter pertains to the source file on disk.

Wenn capacity ist größer als die Größe der Datei auf dem Datenträger, die Datei auf dem Datenträger erhöht wird, um die angegebene Kapazität zu entsprechen, auch wenn keine Daten in der Datei mit zugewiesenem Speicher geschrieben werden.If capacity is larger than the size of the file on disk, the file on disk is increased to match the specified capacity even if no data is written to the memory-mapped file. Geben Sie 0 (null) für die Standardkapazität, die intern festgelegt wird, um dies zu vermeiden, capacity auf die Größe der Datei auf dem Datenträger.To prevent this from occurring, specify 0 (zero) for the default capacity, which will internally set capacity to the size of the file on disk.

CreateFromFile(String, FileMode, String, Int64, MemoryMappedFileAccess) CreateFromFile(String, FileMode, String, Int64, MemoryMappedFileAccess) CreateFromFile(String, FileMode, String, Int64, MemoryMappedFileAccess) 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.Creates a memory-mapped file that has the specified access mode, name, capacity, and access type from a file on disk.

public:
 static System::IO::MemoryMappedFiles::MemoryMappedFile ^ CreateFromFile(System::String ^ path, System::IO::FileMode mode, System::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
Public Shared Function CreateFromFile (path As String, mode As FileMode, mapName As String, capacity As Long, access As MemoryMappedFileAccess) As MemoryMappedFile

Parameter

path
String String String String

Der Pfad der abzubildenden Datei.The path to the file to map.

mode
FileMode FileMode FileMode FileMode

Zugriffsmodus; kann einer der FileMode-Enumerationswerte, außer Append, sein.Access mode; can be any of the FileMode enumeration values except Append.

mapName
String String String 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.A name to assign to the memory-mapped file, or null for a MemoryMappedFile that you do not intend to share across processes.

capacity
Int64 Int64 Int64 Int64

Die maximale Größe (in Bytes), die für die Speicherabbilddatei reserviert werden soll.The maximum size, in bytes, to allocate to the memory-mapped file. Geben Sie 0 an, um die Kapazität auf die Größe der Datei auf dem Datenträger festzulegen.Specify 0 to set the capacity to the size of the file on disk.

access
MemoryMappedFileAccess MemoryMappedFileAccess MemoryMappedFileAccess MemoryMappedFileAccess

Einer der Enumerationswerte, der den zulässigen Zugriffstyp für die Speicherabbilddatei angibt.One of the enumeration values that specifies the type of access allowed to the memory-mapped file.

Gibt zurück

Eine Speicherabbilddatei, die die angegebenen Merkmale aufweist.A memory-mapped file that has the specified characteristics.

Ausnahmen

mapName ist eine leere Zeichenfolge.mapName is an empty string.

- oder --or- access ist kein zulässiger Wert.access is not an allowed value.

- oder --or- path gibt eine leere Datei an.path specifies an empty file.

- oder --or- access wird als Read angegeben und die Kapazität ist höer als die Größe der von path angegebenen Datei.access is specified as Read and capacity is greater than the size of the file indicated by path.

- oder --or- mode ist Append.mode is Append.

capacity ist größer als die Größe des logischen Adressbereichs.capacity is greater than the size of the logical address space.

- oder --or- capacity ist kleiner als 0.capacity is less than zero.

- oder --or- capacity ist kleiner als die Dateigröße (aber nicht null).capacity is less than the file size (but not zero).

- oder --or- capacity ist 0 (null), und die Größe der Datei auf dem Datenträger ist auch 0 (null).capacity is zero, and the size of the file on disk is also zero.

- oder --or- access ist kein definierter MemoryMappedFileAccess-Wert.access is not a defined MemoryMappedFileAccess value.

- oder --or- Die Größer der von path angegebenen Datei ist größer als capacity.The size of the file indicated by path is greater than capacity.

- oder --or- Ein E/A-Fehler ist aufgetreten.An I/O error occurred.

path übersteigt die vom Betriebssystem definierte maximale Länge.path exceeds the maximum length defined by the operating system.

Der Aufrufer verfügt nicht über die erforderlichen Berechtigungen für die Datei.The caller does not have the required permissions for the file.

Hinweise

Die mode Parameter bezieht sich auf die die Quelldatei auf dem Datenträger.The mode parameter pertains to the source file on disk.

Wenn capacity ist größer als die Größe der Datei auf dem Datenträger, die Datei auf dem Datenträger erhöht wird, um die angegebene Kapazität zu entsprechen, auch wenn keine Daten in der Datei mit zugewiesenem Speicher geschrieben werden.If capacity is larger than the size of the file on disk, the file on disk is increased to match the specified capacity even if no data is written to the memory-mapped file. Geben Sie 0 (null) für die Standardkapazität, die intern festgelegt wird, um dies zu vermeiden, capacity auf die Größe der Datei auf dem Datenträger.To prevent this from occurring, specify 0 (zero) for the default capacity, which will internally set capacity to the size of the file on disk.

Sicherheit

SecurityPermission
für den Zugriff von nicht verwaltetem Code.for access to unmanaged code. Zugeordnete Enumeration: UnmanagedCodeAssociated enumeration: UnmanagedCode.

Siehe auch

CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, HandleInheritability, Boolean) CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, HandleInheritability, Boolean) 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.Creates a memory-mapped file from an existing file with the specified access mode, name, inheritability, and capacity.

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);
static member CreateFromFile : System.IO.FileStream * string * int64 * System.IO.MemoryMappedFiles.MemoryMappedFileAccess * System.IO.HandleInheritability * bool -> System.IO.MemoryMappedFiles.MemoryMappedFile

Parameter

fileStream
FileStream FileStream FileStream FileStream

Der Dateistream der angegebenen Datei.The file stream of the existing file.

mapName
String String String 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.A name to assign to the memory-mapped file, or null for a MemoryMappedFile that you do not intend to share across processes.

capacity
Int64 Int64 Int64 Int64

Die maximale Größe (in Bytes), die für die Speicherabbilddatei reserviert werden soll.The maximum size, in bytes, to allocate to the memory-mapped file. Geben Sie 0 (null) an, um die Kapazität auf die Größe von fileStream festzulegen.Specify 0 to set the capacity to the size of filestream.

access
MemoryMappedFileAccess MemoryMappedFileAccess MemoryMappedFileAccess MemoryMappedFileAccess

Einer der Enumerationswerte, der den zulässigen Zugriffstyp für die Speicherabbilddatei angibt.One of the enumeration values that specifies the type of access allowed to the memory-mapped file.

Dieser Parameter kann nicht auf Write festgelegt werden.This parameter can't be set to Write.

inheritability
HandleInheritability HandleInheritability HandleInheritability HandleInheritability

Einer der Enumerationswerte, der angibt, ob ein Handle auf die Speicherabbilddatei von einem untergeordneten Prozess geerbt werden kann.One of the enumeration values that specifies whether a handle to the memory-mapped file can be inherited by a child process. Der Standardwert ist None.The default is None.

leaveOpen
Boolean Boolean Boolean Boolean

Dieser Wert gibt an, ob der Stream der Quelldatei geschlossen werden soll, wenn MemoryMappedFile freigegeben wird.A value that indicates whether to close the source file stream when the MemoryMappedFile is disposed.

Gibt zurück

Eine Speicherabbilddatei, die die angegebenen Merkmale aufweist.A memory-mapped file that has the specified characteristics.

Ausnahmen

mapName ist null oder eine leere Zeichenfolge.mapName is null or an empty string.

- oder --or- capacity und die Länge der Datei sind 0 (null).capacity and the length of the file are zero.

- oder --or- access ist auf den Enumerationswert Write oder Write festgelegt. Dies ist nicht erlaubt.access is set to Write or Write enumeration value, which is not allowed.

- oder --or- access ist auf Read festgelegt, und capacity ist größer als die Länge von filestream.access is set to Read and capacity is larger than the length of filestream.

capacity ist kleiner als 0.capacity is less than zero.

- oder --or- capacity ist kleiner als die Dateigröße.capacity is less than the file size.

- oder --or- access ist kein gültiger MemoryMappedFileAccess-Enumerationswert.access is not a valid MemoryMappedFileAccess enumeration value.

- oder --or- inheritability ist kein gültiger HandleInheritability-Enumerationswert.inheritability is not a valid HandleInheritability enumeration value.

CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, MemoryMappedFileSecurity, HandleInheritability, Boolean) CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, MemoryMappedFileSecurity, HandleInheritability, Boolean) 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.Creates a memory-mapped file that has the specified name, capacity, access type, security permissions, inheritability, and disposal requirement from a file on disk.

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);
static member CreateFromFile : System.IO.FileStream * string * int64 * System.IO.MemoryMappedFiles.MemoryMappedFileAccess * System.IO.MemoryMappedFiles.MemoryMappedFileSecurity * System.IO.HandleInheritability * bool -> System.IO.MemoryMappedFiles.MemoryMappedFile

Parameter

fileStream
FileStream FileStream FileStream FileStream

Der fileStream für die zuzuordnende Datei.The fileStream to the file to map.

mapName
String String String 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.A name to assign to the memory-mapped file, or null for a MemoryMappedFile that you do not intend to share across processes.

capacity
Int64 Int64 Int64 Int64

Die maximale Größe (in Bytes), die für die Speicherabbilddatei reserviert werden soll.The maximum size, in bytes, to allocate to the memory-mapped file. Geben Sie 0 an, um die Kapazität auf die Größe der Datei auf dem Datenträger festzulegen.Specify 0 to set the capacity to the size of the file on disk.

access
MemoryMappedFileAccess MemoryMappedFileAccess MemoryMappedFileAccess MemoryMappedFileAccess

Einer der Enumerationswerte, der den zulässigen Zugriffstyp für die Speicherabbilddatei angibt.One of the enumeration values that specifies the type of access allowed to the memory-mapped file.

Dieser Parameter kann nicht auf Write festgelegt werden.This parameter can't be set to Write.

memoryMappedFileSecurity
MemoryMappedFileSecurity MemoryMappedFileSecurity MemoryMappedFileSecurity MemoryMappedFileSecurity

Die Berechtigungen, die für den Dateizugriff und für Vorgänge für Speicherabbilddateien gewährt werden können.The permissions that can be granted for file access and operations on memory-mapped files.

Dieser Parameter kann null sein.This parameter can be null.

inheritability
HandleInheritability HandleInheritability HandleInheritability HandleInheritability

Einer der Enumerationswerte, der angibt, ob ein Handle auf die Speicherabbilddatei von einem untergeordneten Prozess geerbt werden kann.One of the enumeration values that specifies whether a handle to the memory-mapped file can be inherited by a child process. Der Standardwert ist None.The default is None.

leaveOpen
Boolean Boolean Boolean Boolean

true, um fileStream nicht freizugeben, nachdem MemoryMappedFile geschlossen wurde, false, um fileStream freizugeben.true to not dispose fileStream after the MemoryMappedFile is closed; false to dispose fileStream.

Gibt zurück

Eine Speicherabbilddatei, die die angegebenen Merkmale aufweist.A memory-mapped file that has the specified characteristics.

Ausnahmen

mapName ist eine leere Zeichenfolge.mapName is an empty string.

- oder --or- capacity und die Länge der Datei sind 0 (null).capacity and the length of the file are zero.

- oder --or- access wird auf den Enumerationswert Read oder Write festgelegt, der nicht zulässig ist.access is set to the Read or Write enumeration value, which is not allowed.

capacity ist kleiner als 0.capacity is less than zero.

- oder --or- capacity ist kleiner als die Dateigröße.capacity is less than the file size.

- oder --or- access ist kein gültiger MemoryMappedFileAccess-Enumerationswert.access is not a valid MemoryMappedFileAccess enumeration value.

- oder --or- inheritability ist kein gültiger HandleInheritability-Enumerationswert.inheritability is not a valid HandleInheritability enumeration value.

access wird auf ReadWrite festgelegt, wenn der Zugriff von fileStream auf Read oder Write festgelegt wird.access is set to ReadWrite when fileStream's access is set to Read or Write.

mapName ist bereits vorhanden.mapName already exists.

Hinweise

Wenn capacity ist größer als die Größe der Datei auf dem Datenträger, die Datei auf dem Datenträger erhöht wird, um die angegebene Kapazität zu entsprechen, auch wenn keine Daten in der Datei mit zugewiesenem Speicher geschrieben werden.If capacity is larger than the size of the file on disk, the file on disk is increased to match the specified capacity even if no data is written to the memory-mapped file. Geben Sie 0 (null) für die Standardkapazität, die intern festgelegt wird, um dies zu vermeiden, capacity auf die Größe der Datei auf dem Datenträger.To prevent this from occurring, specify 0 (zero) for the default capacity, which will internally set capacity to the size of the file on disk.

Sicherheit

SecurityPermission
für den Zugriff von nicht verwaltetem Code.for access to unmanaged code. Zugeordnete Enumeration: UnmanagedCodeAssociated enumeration: UnmanagedCode.

Siehe auch

Gilt für: