MemoryMappedFile.CreateFromFile Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Var olan bir dosyadan bellekle eşlenmiş bir dosya oluşturur.
Aşırı Yüklemeler
CreateFromFile(String) |
Disk üzerindeki bir dosyadan belleğe eşlenmiş bir dosya oluşturur. |
CreateFromFile(String, FileMode) |
Disk üzerindeki bir dosyadan belirtilen erişim moduna sahip, belleğe eşlenmiş bir dosya oluşturur. |
CreateFromFile(String, FileMode, String) |
Disk üzerindeki bir dosyadan belirtilen erişim moduna ve ada sahip, belleğe eşlenmiş bir dosya oluşturur. |
CreateFromFile(String, FileMode, String, Int64) |
Disk üzerindeki bir dosyadan belirtilen erişim moduna, ada ve kapasiteye sahip, belleğe eşlenmiş bir dosya oluşturur. |
CreateFromFile(String, FileMode, String, Int64, MemoryMappedFileAccess) |
Disk üzerindeki bir dosyadan belirtilen erişim moduna, ada, kapasiteye ve erişim türüne sahip, belleğe eşlenmiş bir dosya oluşturur. |
CreateFromFile(SafeFileHandle, String, Int64, MemoryMappedFileAccess, HandleInheritability, Boolean) |
ve belirtilen erişim modunu, adı, devralınabilirliği ve kapasiteyi kullanarak mevcut bir dosyadan belleğe eşlenmiş bir SafeFileHandle dosya oluşturur. |
CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, HandleInheritability, Boolean) |
Belirtilen erişim modu, ad, devralınabilirlik ve kapasiteye sahip mevcut bir dosyadan belleğe eşlenmiş bir dosya oluşturur. |
CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, MemoryMappedFileSecurity, HandleInheritability, Boolean) |
Disk üzerindeki bir dosyadan belirtilen ada, kapasiteye, erişim türüne, güvenlik izinlerine, devralınabilirlik ve atma gereksinimine sahip belleğe eşlenmiş bir dosya oluşturur. |
CreateFromFile(String)
- Kaynak:
- MemoryMappedFile.cs
- Kaynak:
- MemoryMappedFile.cs
- Kaynak:
- MemoryMappedFile.cs
Disk üzerindeki bir dosyadan belleğe eşlenmiş bir dosya oluşturur.
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
Parametreler
- path
- String
Eşlenecek dosyanın yolu.
Döndürülenler
Belleğe eşlenmiş bir dosya.
Özel durumlar
path
boş bir dizedir, yalnızca boşluk içerir veya yöntemi tarafından tanımlandığı gibi bir veya daha fazla geçersiz karakter içerir GetInvalidFileNameChars() .
-veya-
path
geçersiz bir cihaza başvuruyor.
path
, null
değeridir.
G/ç hatası oluştu.
path
işletim sistemi tarafından tanımlanan uzunluk üst sınırını aşıyor.
Çağıranın dosya için gerekli izinleri yok.
Örnekler
Aşağıdaki örnek, bellek eşlemeli bir dosya oluşturmak için yöntemini kullanır CreateFromFile ve ardından son derece büyük bir dosyanın bir bölümüne bellek eşlemeli bir görünüm oluşturur.
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
Ayrıca bkz.
Şunlara uygulanır
CreateFromFile(String, FileMode)
- Kaynak:
- MemoryMappedFile.cs
- Kaynak:
- MemoryMappedFile.cs
- Kaynak:
- MemoryMappedFile.cs
Disk üzerindeki bir dosyadan belirtilen erişim moduna sahip, belleğe eşlenmiş bir dosya oluşturur.
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
Parametreler
- path
- String
Eşlenecek dosyanın yolu.
Döndürülenler
Belirtilen erişim moduna sahip, belleğe eşlenmiş bir dosya.
Özel durumlar
path
boş bir dizedir, yalnızca boşluk içerir veya yöntemi tarafından tanımlandığı gibi bir veya daha fazla geçersiz karakter içerir GetInvalidFileNameChars() .
-veya-
path
geçersiz bir cihaza başvuruyor.
-veya-
mode
, Append değeridir.
path
, null
değeridir.
mode
, CreateNewveya TruncateşeklindedirCreate.
-veya-
mode
ve OpenOrCreate disk üzerindeki dosya yok.
-veya-
G/ç hatası oluştu.
path
işletim sistemi tarafından tanımlanan uzunluk üst sınırını aşıyor.
Çağıranın dosya için gerekli izinleri yok.
Açıklamalar
mode
parametresi disk üzerindeki kaynak dosyayla ilgili. Disk üzerindeki Open kaynak dosyadan bellekle eşlenen dosyayı oluşturmak için yalnızca numaralandırma değerini kullanabilirsiniz.
Ayrıca bkz.
Şunlara uygulanır
CreateFromFile(String, FileMode, String)
- Kaynak:
- MemoryMappedFile.cs
- Kaynak:
- MemoryMappedFile.cs
- Kaynak:
- MemoryMappedFile.cs
Disk üzerindeki bir dosyadan belirtilen erişim moduna ve ada sahip, belleğe eşlenmiş bir dosya oluşturur.
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
Parametreler
- path
- String
Eşlenecek dosyanın yolu.
- mapName
- String
Bellekle eşlenen dosyaya atanacak veya null
işlemler arasında paylaşmayı amaçlamadığınız bir MemoryMappedFile ad.
Döndürülenler
Belirtilen ada ve erişim moduna sahip, belleğe eşlenmiş bir dosya.
Özel durumlar
path
boş bir dizedir, yalnızca boşluk içerir veya yöntemi tarafından tanımlandığı gibi bir veya daha fazla geçersiz karakter içerir GetInvalidFileNameChars() .
-veya-
path
geçersiz bir cihaza başvuruyor.
-veya-
mapName
boş bir dizedir.
-veya-
mode
, Append değeridir.
path
, null
değeridir.
mode
, CreateNewveya TruncateşeklindedirCreate.
-veya-
mode
ve OpenOrCreate disk üzerindeki dosya yok.
-veya-
G/ç hatası oluştu.
path
işletim sistemi tarafından tanımlanan uzunluk üst sınırını aşıyor.
Çağıranın dosya için gerekli izinleri yok.
Açıklamalar
mode
parametresi disk üzerindeki kaynak dosyayla ilgili. Disk üzerindeki Open kaynak dosyadan bellekle eşlenen dosyayı oluşturmak için yalnızca numaralandırma değerini kullanabilirsiniz.
Şunlara uygulanır
CreateFromFile(String, FileMode, String, Int64)
- Kaynak:
- MemoryMappedFile.cs
- Kaynak:
- MemoryMappedFile.cs
- Kaynak:
- MemoryMappedFile.cs
Disk üzerindeki bir dosyadan belirtilen erişim moduna, ada ve kapasiteye sahip belleğe eşlenmiş bir dosya oluşturur.
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
Parametreler
- path
- String
Eşlenecek dosyanın yolu.
- mapName
- String
Bellekle eşlenen dosyaya atanacak veya null
işlemler arasında paylaşmayı amaçlamadığınız bir MemoryMappedFile ad.
- capacity
- Int64
Bellekle eşlenen dosyaya ayrılacak en büyük boyut (bayt cinsinden). Kapasiteyi disk üzerindeki dosyanın boyutuna ayarlamak için 0 değerini belirtin.
Döndürülenler
Belirtilen özelliklere sahip bellek eşlemeli bir dosya.
Özel durumlar
path
boş bir dizedir, yalnızca boşluk içerir veya yöntemi tarafından tanımlandığı gibi bir veya daha fazla geçersiz karakter içerir GetInvalidFileNameChars() .
-veya-
path
geçersiz bir cihaza başvuruyor.
-veya-
mapName
boş bir dizedir.
-veya-
mode
, Append değeridir.
path
, null
değeridir.
capacity
, mantıksal adres alanının boyutundan büyük.
-veya-
capacity
, sıfırdan küçüktür.
-veya-
capacity
dosya boyutundan küçüktür (ancak sıfır değildir).
-veya-
capacity
sıfırdır ve disk üzerindeki dosyanın boyutu da sıfırdır.
G/ç hatası oluştu.
path
işletim sistemi tarafından tanımlanan uzunluk üst sınırını aşıyor.
Çağıranın dosya için gerekli izinleri yok.
Açıklamalar
mode
parametresi disk üzerindeki kaynak dosyayla ilgili.
Disk üzerindeki dosyanın boyutundan büyükse capacity
, bellekle eşlenen dosyaya hiçbir veri yazılmasa bile disk üzerindeki dosya belirtilen kapasiteyle eşleşecek şekilde artırılır. Bunun oluşmasını önlemek için, varsayılan kapasite için 0 (sıfır) değerini belirtin. Bu, dahili olarak disk üzerindeki dosyanın boyutuna ayarlanır capacity
.
Şunlara uygulanır
CreateFromFile(String, FileMode, String, Int64, MemoryMappedFileAccess)
- Kaynak:
- MemoryMappedFile.cs
- Kaynak:
- MemoryMappedFile.cs
- Kaynak:
- MemoryMappedFile.cs
Disk üzerindeki bir dosyadan belirtilen erişim moduna, ada, kapasiteye ve erişim türüne sahip belleğe eşlenmiş bir dosya oluşturur.
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
Parametreler
- path
- String
Eşlenecek dosyanın yolu.
- mapName
- String
Bellekle eşlenen dosyaya atanacak veya null
işlemler arasında paylaşmayı amaçlamadığınız bir MemoryMappedFile ad.
- capacity
- Int64
Bellekle eşlenen dosyaya ayrılacak en büyük boyut (bayt cinsinden). Kapasiteyi disk üzerindeki dosyanın boyutuna ayarlamak için 0 belirtin.
- access
- MemoryMappedFileAccess
Bellekle eşlenen dosyaya izin verilen erişim türünü belirten numaralandırma değerlerinden biri.
Döndürülenler
Belirtilen özelliklere sahip bellek eşlemeli bir dosya.
- Öznitelikler
Özel durumlar
mapName
boş bir dizedir.
-veya-
access
izin verilen bir değer değildir.
-veya-
path
boş bir dosya belirtir.
-veya-
access
olarak Read belirtilir ve kapasite ile path
belirtilen dosyanın boyutundan büyük.
-veya-
mode
, Append değeridir.
path
, null
değeridir.
capacity
mantıksal adres alanının boyutundan büyük.
-veya-
capacity
, sıfırdan küçüktür.
-veya-
capacity
dosya boyutundan küçüktür (ancak sıfır değildir).
-veya-
capacity
sıfırdır ve disk üzerindeki dosyanın boyutu da sıfırdır.
-veya-
access
tanımlı MemoryMappedFileAccess bir değer değildir.
-veya-
tarafından path
belirtilen dosyanın boyutu değerinden capacity
büyük.
path
işletim sistemi tarafından tanımlanan uzunluk üst sınırını aşıyor.
Çağıranın dosya için gerekli izinleri yok.
Açıklamalar
mode
parametresi disk üzerindeki kaynak dosyayla ilgili.
Disk üzerindeki dosyanın boyutundan büyükse capacity
disk üzerindeki dosya, bellekle eşlenen dosyaya veri yazılmasa bile belirtilen kapasiteyle eşleşecek şekilde artırılır. Bunun oluşmasını önlemek için varsayılan kapasite için 0 (sıfır) değerini belirtin. Bu, dahili olarak disk üzerindeki dosyanın boyutuna ayarlanır capacity
.
Ayrıca bkz.
Şunlara uygulanır
CreateFromFile(SafeFileHandle, String, Int64, MemoryMappedFileAccess, HandleInheritability, Boolean)
- Kaynak:
- MemoryMappedFile.cs
- Kaynak:
- MemoryMappedFile.cs
ve belirtilen erişim modunu, adı, devralınabilirliği ve kapasiteyi kullanarak mevcut bir dosyadan belleğe eşlenmiş bir SafeFileHandle dosya oluşturur.
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
Parametreler
- fileHandle
- SafeFileHandle
SafeFileHandle var olan dosyaya. Çağıran, olduğunda leaveOpen
true
(aksi takdirde, tarafından otomatik olarak atılır) kullanımdan fileHandle
kaldırmadan MemoryMappedFilesorumludur.
- mapName
- String
Bellekle eşlenen dosyaya atanacak veya null
işlemler arasında paylaşmayı amaçlamadığınız bir MemoryMappedFile ad.
- capacity
- Int64
Bellekle eşlenen dosyaya ayrılacak en büyük boyut (bayt cinsinden). Kapasiteyi dosyanın boyutuna ayarlamak için 0 belirtin.
- access
- MemoryMappedFileAccess
Bellekle eşlenen dosyaya izin verilen erişim türünü belirten numaralandırma değerlerinden biri.
Bu parametre olarak Writeayarlanamaz.
- inheritability
- HandleInheritability
Bellek eşlemeli dosyanın tanıtıcısının bir alt işlem tarafından devralınıp devralınamayacağını belirten numaralandırma değerlerinden biri. Varsayılan değer: None.
- leaveOpen
- Boolean
atıldığında MemoryMappedFile kaynak dosya tanıtıcısının kapatılıp kapatılmayacağını gösteren değer.
Döndürülenler
Belirtilen özelliklere sahip bellek eşlemeli bir dosya.
Özel durumlar
mapName
veya null
boş bir dizedir.
-veya-
capacity
ve dosyanın uzunluğu sıfırdır.
-veya-
access
olarak ayarlanır Writeve bu ayara izin verilmez.
-veya-
access
olarak ayarlanır Read ve capacity
dosyanın uzunluğundan daha büyüktür.
fileHandle
, null
değeridir.
capacity
, sıfırdan küçüktür.
-veya-
capacity
dosya boyutundan küçüktür.
-veya-
access
geçerli MemoryMappedFileAccess bir numaralandırma değeri değildir.
-veya-
inheritability
geçerli HandleInheritability bir numaralandırma değeri değildir.
Şunlara uygulanır
CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, HandleInheritability, Boolean)
- Kaynak:
- MemoryMappedFile.cs
- Kaynak:
- MemoryMappedFile.cs
- Kaynak:
- MemoryMappedFile.cs
Belirtilen erişim modu, ad, devralınabilirlik ve kapasiteye sahip mevcut bir dosyadan belleğe eşlenmiş bir dosya oluşturur.
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
Parametreler
- fileStream
- FileStream
Mevcut dosyanın dosya akışı.
- mapName
- String
Bellekle eşlenen dosyaya atanacak veya null
işlemler arasında paylaşmayı amaçlamadığınız bir MemoryMappedFile ad.
- capacity
- Int64
Bellekle eşlenen dosyaya ayrılacak en büyük boyut (bayt cinsinden). Kapasiteyi boyutuna filestream
ayarlamak için 0 belirtin.
- access
- MemoryMappedFileAccess
Bellekle eşlenen dosyaya izin verilen erişim türünü belirten numaralandırma değerlerinden biri.
Bu parametre olarak Writeayarlanamaz.
- inheritability
- HandleInheritability
Bellek eşlemeli dosyanın tanıtıcısının bir alt işlem tarafından devralınıp devralınamayacağını belirten numaralandırma değerlerinden biri. Varsayılan değer: None.
- leaveOpen
- Boolean
atıldığında MemoryMappedFile kaynak dosya akışının kapatılıp kapatılmayacağını belirten bir değer.
Döndürülenler
Belirtilen özelliklere sahip bellek eşlemeli bir dosya.
Özel durumlar
mapName
veya null
boş bir dizedir.
-veya-
capacity
ve dosyanın uzunluğu sıfırdır.
-veya-
access
veya Write numaralandırma değerine ayarlanır Write ve buna izin verilmez.
-veya-
access
olarak ayarlanır Read ve capacity
değerinden filestream
daha büyüktür.
fileStream
, null
değeridir.
capacity
, sıfırdan küçüktür.
-veya-
capacity
dosya boyutundan küçüktür.
-veya-
access
geçerli MemoryMappedFileAccess bir numaralandırma değeri değildir.
-veya-
inheritability
geçerli HandleInheritability bir numaralandırma değeri değildir.
Şunlara uygulanır
CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, MemoryMappedFileSecurity, HandleInheritability, Boolean)
Disk üzerindeki bir dosyadan belirtilen ada, kapasiteye, erişim türüne, güvenlik izinlerine, devralınabilirlik ve atma gereksinimine sahip belleğe eşlenmiş bir dosya oluşturur.
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
Parametreler
- fileStream
- FileStream
Eşlenecek fileStream
dosyaya.
- mapName
- String
Bellekle eşlenen dosyaya atanacak veya null
işlemler arasında paylaşmayı amaçlamadığınız bir MemoryMappedFile ad.
- capacity
- Int64
Bellekle eşlenen dosyaya ayrılacak en büyük boyut (bayt cinsinden). Kapasiteyi disk üzerindeki dosyanın boyutuna ayarlamak için 0 değerini belirtin.
- access
- MemoryMappedFileAccess
Bellekle eşlenen dosyaya izin verilen erişim türünü belirten numaralandırma değerlerinden biri.
Bu parametre olarak Writeayarlanamaz.
- memoryMappedFileSecurity
- MemoryMappedFileSecurity
Belleğe eşlenen dosyalardaki dosya erişimi ve işlemleri için verilebilen izinler.
Bu parametre olabilir null
.
- inheritability
- HandleInheritability
Bellek eşlemeli dosyanın tanıtıcısının alt işlem tarafından devralınıp devralınamayacağını belirten numaralandırma değerlerinden biri. Varsayılan değer: None.
- leaveOpen
- Boolean
true
kapatıldıktan sonra MemoryMappedFile atılmamasıfileStream
; false
atılması fileStream
için .
Döndürülenler
Belirtilen özelliklere sahip belleğe eşlenmiş bir dosya.
- Öznitelikler
Özel durumlar
mapName
boş bir dizedir.
-veya-
capacity
ve dosyanın uzunluğu sıfırdır.
-veya-
access
, izin verilmeyen veya Write numaralandırma değerine ayarlanırRead.
fileStream
, null
değeridir.
capacity
, sıfırdan küçüktür.
-veya-
capacity
dosya boyutundan küçüktür.
-veya-
access
geçerli MemoryMappedFileAccess bir sabit listesi değeri değil.
-veya-
inheritability
geçerli HandleInheritability bir sabit listesi değeri değil.
fileStream
kapatıldı.
mapName
zaten var.
Açıklamalar
Disk üzerindeki dosyanın boyutundan büyükse capacity
, bellekle eşlenen dosyaya hiçbir veri yazılmasa bile disk üzerindeki dosya belirtilen kapasiteyle eşleşecek şekilde artırılır. Bunun oluşmasını önlemek için, varsayılan kapasite için 0 (sıfır) değerini belirtin. Bu, dahili olarak disk üzerindeki dosyanın boyutuna ayarlanır capacity
.