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 pathbelirtilen 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 capacitybü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 leaveOpentrue (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 filestreamayarlamak 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-
accessveya Write numaralandırma değerine ayarlanır Write ve buna izin verilmez.
-veya-
access olarak ayarlanır Read ve capacity değerinden filestreamdaha 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
truekapatıldıktan sonra MemoryMappedFile atılmamasıfileStream; false atılması fileStreamiç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 .