MemoryMappedFile.CreateFromFile Yöntem

Tanım

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.

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

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

mode
FileMode

Erişim modu; dışında Appendherhangi bir FileMode 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 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.

mode
FileMode

Erişim modu; dışında Appendherhangi bir FileMode 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 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.

-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

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

accessReadWritefileStream, 'nin erişimi veya Writeolarak ayarlandığında olarak ayarlanırRead.

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 .

Ayrıca bkz.

Şunlara uygulanır