MemoryMappedFile.CreateFromFile Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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.
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.
- 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.
- 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.
- 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
.
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-
access
jest 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
true
nie 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 fileStream
dostę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.