MemoryMappedFile.CreateFromFile Yöntem

Tanım

Var olan bir dosyadan belleğe eşlenmiş bir dosya oluşturur.

Aşırı Yüklemeler

Name Description
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 elden çıkarma gereksinimine sahip belleğe eşlenmiş bir dosya oluşturur.

CreateFromFile(String)

Kaynak:
MemoryMappedFile.cs
Kaynak:
MemoryMappedFile.cs
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'e eşittir.

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, bellekle eşlenmiş 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 bellekle eşlenmiş 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
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.

mode
FileMode

Erişim modu; olmalıdır Open.

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'e eşittir.

path, null'e eşittir.

mode, Createveya CreateNewşeklindedirTruncate.

-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 bellek eşlemeli 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
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.

mode
FileMode

Erişim modu; olmalıdır Open.

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'e eşittir.

path, null'e eşittir.

mode, Createveya CreateNewşeklindedirTruncate.

-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 bellek eşlemeli 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
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.

mode
FileMode

Erişim modu; dışında FileModeherhangi bir Append numaralandırma değeri olabilir.

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 bayt cinsinden en büyük boyut. Kapasiteyi disk üzerindeki dosyanın boyutuna ayarlamak için 0 değerini belirtin.

Döndürülenler

Belirtilen özelliklere 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'e eşittir.

path, null'e eşittir.

capacity mantıksal adres alanının boyutundan büyüktür.

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

Şunlara uygulanır

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

Kaynak:
MemoryMappedFile.cs
Kaynak:
MemoryMappedFile.cs
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.

mode
FileMode

Erişim modu; dışında FileModeherhangi bir Append numaralandırma değeri olabilir.

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 bayt cinsinden en büyük boyut. 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.

Döndürülenler

Belirtilen özelliklere sahip belleğe eşlenmiş 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 tarafından pathbelirtilen dosyanın boyutundan büyüktür.

-veya-

mode, Append'e eşittir.

path, null'e eşittir.

capacity mantıksal adres alanının boyutundan büyüktür.

-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üktür.

-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 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
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) atılmasından fileHandleMemoryMappedFilesorumludur.

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 bayt cinsinden en büyük boyut. 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 dosya 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 belleğe eşlenmiş 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 dosya uzunluğundan daha büyüktür.

fileHandle, null'e eşittir.

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
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 bayt cinsinden en büyük boyut. Kapasiteyi boyutuna filestreamayarlamak 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.

inheritability
HandleInheritability

Bellek eşlemeli dosya 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 belleğe eşlenmiş bir dosya.

Özel durumlar

mapName veya null boş bir dizedir.

-veya-

capacity ve dosyanın uzunluğu sıfırdır.

-veya-

access veya sabit listesi değerine ayarlanır WriteWrite ve buna izin verilmez.

-veya-

access olarak ayarlanır Read ve capacity uzunluğundan filestreamdaha büyüktür.

fileStream, null'e eşittir.

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 elden çıkarma 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

fileStream eşleştirecek 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 bayt cinsinden en büyük boyut. 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

Bellekle eşlenen dosyalarda dosya erişimi ve işlemler için verilebilen izinler.

Bu parametre olabilir null.

inheritability
HandleInheritability

Bellek eşlemeli dosya 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

truekapatıldıktan sonra fileStream atılmamasıMemoryMappedFile; 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 veya sabit listesi değerine ayarlanır ReadWrite ve buna izin verilmez.

fileStream, null'e eşittir.

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.

fileStream kapalıydı.

access, 'nin erişimi veya olarak ayarlandığında olarak ayarlanır ReadWritefileStreamRead.Write

mapName zaten var.

Açıklamalar

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