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