Udostępnij za pośrednictwem


MemoryMappedFile.CreateFromFile Metoda

Definicja

Tworzy plik mapowany na pamięć z istniejącego pliku.

Przeciążenia

CreateFromFile(String)

Tworzy plik mapowany na pamięć na podstawie pliku na dysku.

CreateFromFile(String, FileMode)

Tworzy plik mapowany na pamięć, który ma określony tryb dostępu z pliku na dysku.

CreateFromFile(String, FileMode, String)

Tworzy plik mapowany na pamięć, który ma określony tryb dostępu i nazwę z pliku na dysku.

CreateFromFile(String, FileMode, String, Int64)

Tworzy plik zamapowany na pamięć, który ma określony tryb dostępu, nazwę i pojemność z pliku na dysku.

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

Tworzy plik mapowany na pamięć, który ma określony tryb dostępu, nazwę, pojemność i typ dostępu z pliku na dysku.

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

Tworzy plik zamapowany na pamięć na podstawie istniejącego pliku przy użyciu trybu dostępu i określonego SafeFileHandle trybu dostępu, nazwy, dziedziczenia i pojemności.

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

Tworzy plik mapowany na pamięć na podstawie istniejącego pliku z określonym trybem dostępu, nazwą, dziedziczeniem i pojemnością.

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

Tworzy plik zamapowany na pamięć, który ma określoną nazwę, pojemność, typ dostępu, uprawnienia zabezpieczeń, dziedziczenie i wymaganie usuwania z pliku na dysku.

CreateFromFile(String)

Źródło:
MemoryMappedFile.cs
Źródło:
MemoryMappedFile.cs
Źródło:
MemoryMappedFile.cs

Tworzy plik mapowany na pamięć na podstawie pliku na dysku.

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

Ścieżka do pliku do mapowania.

Zwraca

Plik mapowany na pamięć.

Wyjątki

path jest pustym ciągiem, zawiera tylko białe znaki lub zawiera co najmniej jeden nieprawidłowy znak zdefiniowany przez metodę GetInvalidFileNameChars() .

-lub-

path odnosi się do nieprawidłowego urządzenia.

path to null.

Wystąpił błąd we/wy.

path przekracza maksymalną długość zdefiniowaną przez system operacyjny.

Obiekt wywołujący nie ma wymaganych uprawnień do pliku.

Przykłady

W poniższym przykładzie CreateFromFile użyto metody do utworzenia pliku mapowanego na pamięć, a następnie utworzenia widoku mapowanego w pamięci do części bardzo dużego pliku.

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

Zobacz też

Dotyczy

CreateFromFile(String, FileMode)

Źródło:
MemoryMappedFile.cs
Źródło:
MemoryMappedFile.cs
Źródło:
MemoryMappedFile.cs

Tworzy plik mapowany na pamięć, który ma określony tryb dostępu z pliku na dysku.

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

Ścieżka do pliku do mapowania.

mode
FileMode

Tryb dostępu; musi mieć wartość Open.

Zwraca

Plik mapowany na pamięć, który ma określony tryb dostępu.

Wyjątki

path jest pustym ciągiem, zawiera tylko białe znaki lub zawiera co najmniej jeden nieprawidłowy znak zdefiniowany przez metodę GetInvalidFileNameChars() .

-lub-

path odnosi się do nieprawidłowego urządzenia.

-lub-

mode to Append.

path to null.

mode to Create, CreateNewlub Truncate.

-lub-

mode jest OpenOrCreate i plik na dysku nie istnieje.

-lub-

Wystąpił błąd we/wy.

path przekracza maksymalną długość zdefiniowaną przez system operacyjny.

Obiekt wywołujący nie ma wymaganych uprawnień do pliku.

Uwagi

Parametr mode dotyczy pliku źródłowego na dysku. Można użyć tylko Open wartości wyliczenia, aby utworzyć plik zamapowany na pamięć z pliku źródłowego na dysku.

Zobacz też

Dotyczy

CreateFromFile(String, FileMode, String)

Źródło:
MemoryMappedFile.cs
Źródło:
MemoryMappedFile.cs
Źródło:
MemoryMappedFile.cs

Tworzy plik mapowany na pamięć, który ma określony tryb dostępu i nazwę z pliku na dysku.

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

Ścieżka do pliku do mapowania.

mode
FileMode

Tryb dostępu; musi mieć wartość Open.

mapName
String

Nazwa, która ma zostać przypisana do pliku mapowanego w pamięci lub null dla elementu, który MemoryMappedFile nie ma zamiaru udostępniać między procesami.

Zwraca

Plik mapowany na pamięć, który ma określoną nazwę i tryb dostępu.

Wyjątki

path jest pustym ciągiem, zawiera tylko białe znaki lub zawiera co najmniej jeden nieprawidłowy znak zdefiniowany przez metodę GetInvalidFileNameChars() .

-lub-

path odnosi się do nieprawidłowego urządzenia.

-lub-

mapName jest pustym ciągiem.

-lub-

mode to Append.

path to null.

mode to Create, CreateNewlub Truncate.

-lub-

mode jest OpenOrCreate i plik na dysku nie istnieje.

-lub-

Wystąpił błąd we/wy.

path przekracza maksymalną długość zdefiniowaną przez system operacyjny.

Obiekt wywołujący nie ma wymaganych uprawnień do pliku.

Uwagi

Parametr mode dotyczy pliku źródłowego na dysku. Można użyć tylko Open wartości wyliczenia, aby utworzyć plik zamapowany na pamięć z pliku źródłowego na dysku.

Dotyczy

CreateFromFile(String, FileMode, String, Int64)

Źródło:
MemoryMappedFile.cs
Źródło:
MemoryMappedFile.cs
Źródło:
MemoryMappedFile.cs

Tworzy plik mapowany na pamięć, który ma określony tryb dostępu, nazwę i pojemność z pliku na dysku.

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

Ścieżka do pliku do mapowania.

mode
FileMode

Tryb dostępu; może być dowolną FileMode z wartości wyliczenia z wyjątkiem Append.

mapName
String

Nazwa, która ma zostać przypisana do pliku mapowanego w pamięci lub null dla elementu, który MemoryMappedFile nie ma zamiaru udostępniać między procesami.

capacity
Int64

Maksymalny rozmiar w bajtach do przydzielenia do pliku zamapowanego na pamięć. Określ wartość 0, aby ustawić pojemność na rozmiar pliku na dysku.

Zwraca

Plik mapowany na pamięć, który ma określone cechy.

Wyjątki

path jest pustym ciągiem, zawiera tylko białe znaki lub zawiera co najmniej jeden nieprawidłowy znak zdefiniowany przez metodę GetInvalidFileNameChars() .

-lub-

path odnosi się do nieprawidłowego urządzenia.

-lub-

mapName jest pustym ciągiem.

-lub-

mode to Append.

path to null.

capacity jest większy niż rozmiar logicznej przestrzeni adresowej.

-lub-

Parametr capacity ma wartość niższą niż zero.

-lub-

capacity jest mniejszy niż rozmiar pliku (ale nie zero).

-lub-

capacity ma wartość zero, a rozmiar pliku na dysku również wynosi zero.

Wystąpił błąd we/wy.

path przekracza maksymalną długość zdefiniowaną przez system operacyjny.

Obiekt wywołujący nie ma wymaganych uprawnień do pliku.

Uwagi

Parametr mode dotyczy pliku źródłowego na dysku.

Jeśli capacity plik jest większy niż rozmiar pliku na dysku, plik na dysku jest zwiększany w celu dopasowania do określonej pojemności, nawet jeśli żadne dane nie są zapisywane w pliku mapowanym na pamięć. Aby temu zapobiec, określ wartość 0 (zero) dla pojemności domyślnej, która zostanie wewnętrznie ustawiona capacity na rozmiar pliku na dysku.

Dotyczy

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

Źródło:
MemoryMappedFile.cs
Źródło:
MemoryMappedFile.cs
Źródło:
MemoryMappedFile.cs

Tworzy plik mapowany na pamięć, który ma określony tryb dostępu, nazwę, pojemność i typ dostępu z pliku na dysku.

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

Ścieżka do pliku do mapowania.

mode
FileMode

Tryb dostępu; może być dowolną FileMode z wartości wyliczenia z wyjątkiem Append.

mapName
String

Nazwa, która ma zostać przypisana do pliku mapowanego na pamięć lub null dla MemoryMappedFile elementu, który nie ma zamiaru współużytkować między procesami.

capacity
Int64

Maksymalny rozmiar w bajtach do przydzielenia do pliku zamapowanego na pamięć. Określ wartość 0, aby ustawić pojemność na rozmiar pliku na dysku.

access
MemoryMappedFileAccess

Jedna z wartości wyliczenia określająca typ dostępu dozwolonego do pliku mapowanego na pamięć.

Zwraca

Plik mapowany na pamięć, który ma określone cechy.

Atrybuty

Wyjątki

mapName jest pustym ciągiem.

-lub-

access nie jest dozwoloną wartością.

-lub-

path określa pusty plik.

-lub-

access jest określony jako Read i pojemność jest większa niż rozmiar pliku wskazanego przez path.

-lub-

mode to Append.

path to null.

capacity jest większy niż rozmiar logicznej przestrzeni adresowej.

-lub-

Parametr capacity ma wartość niższą niż zero.

-lub-

capacity jest mniejszy niż rozmiar pliku (ale nie zero).

-lub-

capacity ma wartość zero, a rozmiar pliku na dysku również wynosi zero.

-lub-

access nie jest zdefiniowaną MemoryMappedFileAccess wartością.

-lub-

Rozmiar pliku wskazanego przez path wartość jest większy niż capacity.

-lub-

Wystąpił błąd we/wy.

path przekracza maksymalną długość zdefiniowaną przez system operacyjny.

Obiekt wywołujący nie ma wymaganych uprawnień do pliku.

Uwagi

Parametr mode dotyczy pliku źródłowego na dysku.

Jeśli capacity plik jest większy niż rozmiar pliku na dysku, plik na dysku jest zwiększany w celu dopasowania do określonej pojemności, nawet jeśli żadne dane nie są zapisywane w pliku zamapowanym na pamięć. Aby temu zapobiec, określ wartość 0 (zero) dla pojemności domyślnej, która zostanie wewnętrznie ustawiona capacity na rozmiar pliku na dysku.

Zobacz też

Dotyczy

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

Źródło:
MemoryMappedFile.cs
Źródło:
MemoryMappedFile.cs

Tworzy plik mapowany na pamięć z istniejącego pliku przy użyciu SafeFileHandle trybu dostępu i określonego trybu dostępu, nazwy, dziedziczenia i pojemności.

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

Element SafeFileHandle do istniejącego pliku. Obiekt wywołujący jest odpowiedzialny za dysponowanie fileHandle , gdy leaveOpen element jest true (w przeciwnym razie jest automatycznie usuwany przez MemoryMappedFileobiekt ).

mapName
String

Nazwa, która ma zostać przypisana do pliku mapowanego na pamięć lub null dla MemoryMappedFile elementu, który nie ma zamiaru współużytkować między procesami.

capacity
Int64

Maksymalny rozmiar w bajtach do przydzielenia do pliku zamapowanego na pamięć. Określ wartość 0, aby ustawić pojemność na rozmiar pliku.

access
MemoryMappedFileAccess

Jedna z wartości wyliczenia określająca typ dostępu dozwolonego do pliku mapowanego na pamięć.

Nie można ustawić tego parametru na Write.

inheritability
HandleInheritability

Jedna z wartości wyliczenia określająca, czy dojście do pliku mapowanego na pamięć może być dziedziczone przez proces podrzędny. Wartość domyślna to None.

leaveOpen
Boolean

Wartość wskazująca, czy należy zamknąć uchwyt pliku źródłowego po usunięciu MemoryMappedFile .

Zwraca

Plik mapowany na pamięć, który ma określone cechy.

Wyjątki

mapName jest lub pusty null ciąg.

-lub-

capacity i długość pliku to zero.

-lub-

access jest ustawiona na Writewartość , która nie jest dozwolona.

-lub-

access jest ustawiona na Read wartość i capacity jest większa niż długość pliku.

fileHandle to null.

Parametr capacity ma wartość niższą niż zero.

-lub-

capacity jest mniejszy niż rozmiar pliku.

-lub-

access nie jest prawidłową MemoryMappedFileAccess wartością wyliczenia.

-lub-

inheritability nie jest prawidłową HandleInheritability wartością wyliczenia.

Dotyczy

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

Źródło:
MemoryMappedFile.cs
Źródło:
MemoryMappedFile.cs
Źródło:
MemoryMappedFile.cs

Tworzy plik mapowany na pamięć z istniejącego pliku z określonym trybem dostępu, nazwą, dziedziczeniem i pojemnością.

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

Strumień plików istniejącego pliku.

mapName
String

Nazwa, która ma zostać przypisana do pliku mapowanego na pamięć lub null dla MemoryMappedFile elementu, który nie ma zamiaru współużytkować między procesami.

capacity
Int64

Maksymalny rozmiar w bajtach do przydzielenia do pliku zamapowanego na pamięć. Określ wartość 0, aby ustawić pojemność na rozmiar .filestream

access
MemoryMappedFileAccess

Jedna z wartości wyliczenia określająca typ dostępu dozwolonego do pliku mapowanego na pamięć.

Nie można ustawić tego parametru na Write.

inheritability
HandleInheritability

Jedna z wartości wyliczenia określająca, czy dojście do pliku mapowanego na pamięć może być dziedziczone przez proces podrzędny. Wartość domyślna to None.

leaveOpen
Boolean

Wartość wskazująca, czy należy zamknąć strumień pliku źródłowego po usunięciu MemoryMappedFile .

Zwraca

Plik mapowany na pamięć, który ma określone cechy.

Wyjątki

mapName jest lub pusty null ciąg.

-lub-

capacity i długość pliku to zero.

-lub-

access jest ustawiona na Write wartość lub Write wartość wyliczenia, która jest niedozwolona.

-lub-

accessjest ustawiona na Read wartość i capacity jest większa niż długość .filestream

fileStream to null.

Parametr capacity ma wartość niższą niż zero.

-lub-

capacity jest mniejszy niż rozmiar pliku.

-lub-

access nie jest prawidłową MemoryMappedFileAccess wartością wyliczenia.

-lub-

inheritability nie jest prawidłową HandleInheritability wartością wyliczenia.

Dotyczy

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

Tworzy plik mapowany na pamięć, który ma określoną nazwę, pojemność, typ dostępu, uprawnienia zabezpieczeń, dziedziczenie i wymaganie usuwania z pliku na dysku.

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

Element fileStream do pliku do mapowania.

mapName
String

Nazwa, która ma zostać przypisana do pliku mapowanego na pamięć lub null dla MemoryMappedFile elementu, który nie ma zamiaru współużytkować między procesami.

capacity
Int64

Maksymalny rozmiar w bajtach do przydzielenia do pliku zamapowanego na pamięć. Określ wartość 0, aby ustawić pojemność na rozmiar pliku na dysku.

access
MemoryMappedFileAccess

Jedna z wartości wyliczenia określająca typ dostępu dozwolonego do pliku mapowanego na pamięć.

Nie można ustawić tego parametru na Write.

memoryMappedFileSecurity
MemoryMappedFileSecurity

Uprawnienia, które można udzielić w przypadku dostępu do plików i operacji na plikach mapowanych w pamięci.

Ten parametr może mieć wartość null.

inheritability
HandleInheritability

Jedna z wartości wyliczenia określająca, czy dojście do pliku mapowanego na pamięć może być dziedziczone przez proces podrzędny. Wartość domyślna to None.

leaveOpen
Boolean

truenie usuwać po MemoryMappedFile zamknięciufileStream; false w celu usunięcia fileStream.

Zwraca

Plik mapowany na pamięć, który ma określone cechy.

Atrybuty

Wyjątki

mapName jest pustym ciągiem.

-lub-

capacity i długość pliku to zero.

-lub-

access jest ustawiona Read na wartość lub Write wyliczenia, która nie jest dozwolona.

fileStream to null.

Parametr capacity ma wartość niższą niż zero.

-lub-

capacity jest mniejszy niż rozmiar pliku.

-lub-

access nie jest prawidłową MemoryMappedFileAccess wartością wyliczenia.

-lub-

inheritability nie jest prawidłową HandleInheritability wartością wyliczenia.

fileStream została zamknięta.

access parametr jest ustawiany na ReadWrite wartość , gdy fileStreamdostęp jest ustawiony na Read wartość lub Write.

mapName już istnieje.

Uwagi

Jeśli capacity plik jest większy niż rozmiar pliku na dysku, plik na dysku jest zwiększany w celu dopasowania do określonej pojemności, nawet jeśli żadne dane nie są zapisywane w pliku zamapowanym na pamięć. Aby temu zapobiec, określ wartość 0 (zero) dla pojemności domyślnej, która zostanie wewnętrznie ustawiona capacity na rozmiar pliku na dysku.

Zobacz też

Dotyczy