Bagikan melalui


MemoryMappedFile.CreateFromFile Metode

Definisi

Membuat file yang dipetakan memori dari file yang ada.

Overload

CreateFromFile(String)

Membuat file yang dipetakan memori dari file pada disk.

CreateFromFile(String, FileMode)

Membuat file yang dipetakan memori yang memiliki mode akses yang ditentukan dari file pada disk.

CreateFromFile(String, FileMode, String)

Membuat file yang dipetakan memori yang memiliki mode akses dan nama yang ditentukan dari file pada disk.

CreateFromFile(String, FileMode, String, Int64)

Membuat file yang dipetakan memori yang memiliki mode akses, nama, dan kapasitas yang ditentukan dari file pada disk.

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

Membuat file yang dipetakan memori yang memiliki mode akses, nama, kapasitas, dan jenis akses yang ditentukan dari file pada disk.

CreateFromFile(SafeFileHandle, String, Int64, MemoryMappedFileAccess, HandleInheritability, Boolean)

Membuat file yang dipetakan memori dari file yang ada menggunakan SafeFileHandle dan mode akses, nama, pewarisan, dan kapasitas yang ditentukan.

CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, HandleInheritability, Boolean)

Membuat file yang dipetakan memori dari file yang ada dengan mode akses, nama, warisan, dan kapasitas yang ditentukan.

CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, MemoryMappedFileSecurity, HandleInheritability, Boolean)

Membuat file yang dipetakan memori yang memiliki nama, kapasitas, jenis akses, izin keamanan, pewarisan, dan persyaratan pembuangan yang ditentukan dari file pada disk.

CreateFromFile(String)

Sumber:
MemoryMappedFile.cs
Sumber:
MemoryMappedFile.cs
Sumber:
MemoryMappedFile.cs

Membuat file yang dipetakan memori dari file pada disk.

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

Parameter

path
String

Jalur ke file yang akan dipetakan.

Mengembalikan

File yang dipetakan memori.

Pengecualian

path adalah string kosong, hanya berisi spasi kosong, atau memiliki satu atau beberapa karakter yang tidak valid, seperti yang GetInvalidFileNameChars() didefinisikan oleh metode .

-atau-

path mengacu pada perangkat yang tidak valid.

pathadalah null.

Terjadi kesalahan I/O.

path melebihi panjang maksimum yang ditentukan oleh sistem operasi.

Pemanggil tidak memiliki izin yang diperlukan untuk file tersebut.

Contoh

Contoh berikut menggunakan CreateFromFile metode untuk membuat file yang dipetakan memori, lalu membuat tampilan yang dipetakan memori ke sebagian file yang sangat besar.

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

Lihat juga

Berlaku untuk

CreateFromFile(String, FileMode)

Sumber:
MemoryMappedFile.cs
Sumber:
MemoryMappedFile.cs
Sumber:
MemoryMappedFile.cs

Membuat file yang dipetakan memori yang memiliki mode akses yang ditentukan dari file pada disk.

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

Parameter

path
String

Jalur ke file yang akan dipetakan.

mode
FileMode

Mode akses; harus .Open

Mengembalikan

File yang dipetakan memori yang memiliki mode akses yang ditentukan.

Pengecualian

path adalah string kosong, hanya berisi spasi kosong, atau memiliki satu atau beberapa karakter yang tidak valid, seperti yang GetInvalidFileNameChars() didefinisikan oleh metode .

-atau-

path mengacu pada perangkat yang tidak valid.

-atau-

modeadalah Append.

pathadalah null.

mode adalah Create, CreateNew, atau Truncate.

-atau-

mode adalah OpenOrCreate dan file pada disk tidak ada.

-atau-

Terjadi kesalahan I/O.

path melebihi panjang maksimum yang ditentukan oleh sistem operasi.

Pemanggil tidak memiliki izin yang diperlukan untuk file tersebut.

Keterangan

Parameter mode berkaitan dengan file sumber pada disk. Anda hanya Open dapat menggunakan nilai enumerasi untuk membuat file yang dipetakan memori dari file sumber pada disk.

Lihat juga

Berlaku untuk

CreateFromFile(String, FileMode, String)

Sumber:
MemoryMappedFile.cs
Sumber:
MemoryMappedFile.cs
Sumber:
MemoryMappedFile.cs

Membuat file yang dipetakan memori yang memiliki mode akses dan nama yang ditentukan dari file pada disk.

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

Parameter

path
String

Jalur ke file yang akan dipetakan.

mode
FileMode

Mode akses; harus .Open

mapName
String

Nama untuk ditetapkan ke file yang dipetakan memori, atau null untuk MemoryMappedFile yang tidak ingin Anda bagikan di seluruh proses.

Mengembalikan

File yang dipetakan memori yang memiliki nama dan mode akses yang ditentukan.

Pengecualian

path adalah string kosong, hanya berisi spasi kosong, atau memiliki satu atau beberapa karakter yang tidak valid, seperti yang GetInvalidFileNameChars() didefinisikan oleh metode .

-atau-

path mengacu pada perangkat yang tidak valid.

-atau-

mapName adalah string kosong.

-atau-

modeadalah Append.

pathadalah null.

mode adalah Create, CreateNew, atau Truncate.

-atau-

mode adalah OpenOrCreate dan file pada disk tidak ada.

-atau-

Terjadi kesalahan I/O.

path melebihi panjang maksimum yang ditentukan oleh sistem operasi.

Pemanggil tidak memiliki izin yang diperlukan untuk file tersebut.

Keterangan

Parameter mode berkaitan dengan file sumber pada disk. Anda hanya Open dapat menggunakan nilai enumerasi untuk membuat file yang dipetakan memori dari file sumber pada disk.

Berlaku untuk

CreateFromFile(String, FileMode, String, Int64)

Sumber:
MemoryMappedFile.cs
Sumber:
MemoryMappedFile.cs
Sumber:
MemoryMappedFile.cs

Membuat file yang dipetakan memori yang memiliki mode akses, nama, dan kapasitas yang ditentukan dari file pada disk.

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

Parameter

path
String

Jalur ke file yang akan dipetakan.

mode
FileMode

Mode akses; dapat berupa salah FileMode satu nilai enumerasi kecuali Append.

mapName
String

Nama untuk ditetapkan ke file yang dipetakan memori, atau null untuk MemoryMappedFile yang tidak ingin Anda bagikan di seluruh proses.

capacity
Int64

Ukuran maksimum, dalam byte, untuk mengalokasikan ke file yang dipetakan memori. Tentukan 0 untuk mengatur kapasitas ke ukuran file pada disk.

Mengembalikan

File yang dipetakan memori yang memiliki karakteristik yang ditentukan.

Pengecualian

path adalah string kosong, hanya berisi spasi kosong, atau memiliki satu atau beberapa karakter yang tidak valid, seperti yang GetInvalidFileNameChars() didefinisikan oleh metode .

-atau-

path mengacu pada perangkat yang tidak valid.

-atau-

mapName adalah string kosong.

-atau-

modeadalah Append.

pathadalah null.

capacity lebih besar dari ukuran ruang alamat logis.

-atau-

capacity kurang dari nol.

-atau-

capacity kurang dari ukuran file (tetapi bukan nol).

-atau-

capacity adalah nol, dan ukuran file pada disk juga nol.

Terjadi kesalahan I/O.

path melebihi panjang maksimum yang ditentukan oleh sistem operasi.

Pemanggil tidak memiliki izin yang diperlukan untuk file tersebut.

Keterangan

Parameter mode berkaitan dengan file sumber pada disk.

Jika capacity lebih besar dari ukuran file pada disk, file pada disk ditingkatkan agar sesuai dengan kapasitas yang ditentukan bahkan jika tidak ada data yang ditulis ke file yang dipetakan memori. Untuk mencegah hal ini terjadi, tentukan 0 (nol) untuk kapasitas default, yang secara internal akan diatur capacity ke ukuran file pada disk.

Berlaku untuk

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

Sumber:
MemoryMappedFile.cs
Sumber:
MemoryMappedFile.cs
Sumber:
MemoryMappedFile.cs

Membuat file yang dipetakan memori yang memiliki mode akses, nama, kapasitas, dan jenis akses yang ditentukan dari file pada disk.

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

Parameter

path
String

Jalur ke file yang akan dipetakan.

mode
FileMode

Mode akses; dapat berupa salah FileMode satu nilai enumerasi kecuali Append.

mapName
String

Nama untuk ditetapkan ke file yang dipetakan memori, atau null untuk MemoryMappedFile yang tidak ingin Anda bagikan di seluruh proses.

capacity
Int64

Ukuran maksimum, dalam byte, untuk mengalokasikan ke file yang dipetakan memori. Tentukan 0 untuk mengatur kapasitas ke ukuran file pada disk.

access
MemoryMappedFileAccess

Salah satu nilai enumerasi yang menentukan jenis akses yang diizinkan ke file yang dipetakan memori.

Mengembalikan

File yang dipetakan memori yang memiliki karakteristik yang ditentukan.

Atribut

Pengecualian

mapName adalah string kosong.

-atau-

access bukan nilai yang diperbolehkan.

-atau-

path menentukan file kosong.

-atau-

access ditentukan sebagai Read dan kapasitas lebih besar dari ukuran file yang ditunjukkan oleh path.

-atau-

modeadalah Append.

pathadalah null.

capacity lebih besar dari ukuran ruang alamat logis.

-atau-

capacity kurang dari nol.

-atau-

capacity kurang dari ukuran file (tetapi bukan nol).

-atau-

capacity adalah nol, dan ukuran file pada disk juga nol.

-atau-

access bukan nilai yang ditentukan MemoryMappedFileAccess .

-atau-

Ukuran file yang ditunjukkan oleh path lebih besar dari capacity.

-atau-

Terjadi kesalahan I/O.

path melebihi panjang maksimum yang ditentukan oleh sistem operasi.

Pemanggil tidak memiliki izin yang diperlukan untuk file tersebut.

Keterangan

Parameter mode berkaitan dengan file sumber pada disk.

Jika capacity lebih besar dari ukuran file pada disk, file pada disk ditingkatkan agar sesuai dengan kapasitas yang ditentukan bahkan jika tidak ada data yang ditulis ke file yang dipetakan memori. Untuk mencegah hal ini terjadi, tentukan 0 (nol) untuk kapasitas default, yang secara internal akan diatur capacity ke ukuran file pada disk.

Lihat juga

Berlaku untuk

CreateFromFile(SafeFileHandle, String, Int64, MemoryMappedFileAccess, HandleInheritability, Boolean)

Sumber:
MemoryMappedFile.cs
Sumber:
MemoryMappedFile.cs

Membuat file yang dipetakan memori dari file yang ada menggunakan SafeFileHandle dan mode akses, nama, pewarisan, dan kapasitas yang ditentukan.

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

Parameter

fileHandle
SafeFileHandle

ke SafeFileHandle file yang ada. Pemanggil bertanggung jawab untuk membuang fileHandle kapan leaveOpen ( true jika tidak, secara otomatis dibuang oleh MemoryMappedFile).

mapName
String

Nama untuk ditetapkan ke file yang dipetakan memori, atau null untuk MemoryMappedFile yang tidak ingin Anda bagikan di seluruh proses.

capacity
Int64

Ukuran maksimum, dalam byte, untuk mengalokasikan ke file yang dipetakan memori. Tentukan 0 untuk mengatur kapasitas ke ukuran file.

access
MemoryMappedFileAccess

Salah satu nilai enumerasi yang menentukan jenis akses yang diizinkan ke file yang dipetakan memori.

Parameter ini tidak dapat diatur ke Write.

inheritability
HandleInheritability

Salah satu nilai enumerasi yang menentukan apakah handel ke file yang dipetakan memori dapat diwariskan oleh proses anak. Default adalah None.

leaveOpen
Boolean

Nilai yang menunjukkan apakah akan menutup handel file sumber saat MemoryMappedFile dibuang.

Mengembalikan

File yang dipetakan memori yang memiliki karakteristik yang ditentukan.

Pengecualian

mapName adalah null atau string kosong.

-atau-

capacity dan panjang file adalah nol.

-atau-

access diatur ke Write, yang tidak diizinkan.

-atau-

access diatur ke Read dan capacity lebih besar dari panjang file.

fileHandleadalah null.

capacity kurang dari nol.

-atau-

capacity kurang dari ukuran file.

-atau-

access bukan nilai enumerasi yang valid MemoryMappedFileAccess .

-atau-

inheritability bukan nilai enumerasi yang valid HandleInheritability .

Berlaku untuk

CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, HandleInheritability, Boolean)

Sumber:
MemoryMappedFile.cs
Sumber:
MemoryMappedFile.cs
Sumber:
MemoryMappedFile.cs

Membuat file yang dipetakan memori dari file yang ada dengan mode akses, nama, warisan, dan kapasitas yang ditentukan.

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

Parameter

fileStream
FileStream

Aliran file dari file yang ada.

mapName
String

Nama untuk ditetapkan ke file yang dipetakan memori, atau null untuk MemoryMappedFile yang tidak ingin Anda bagikan di seluruh proses.

capacity
Int64

Ukuran maksimum, dalam byte, untuk mengalokasikan ke file yang dipetakan memori. Tentukan 0 untuk mengatur kapasitas ke ukuran filestream.

access
MemoryMappedFileAccess

Salah satu nilai enumerasi yang menentukan jenis akses yang diizinkan ke file yang dipetakan memori.

Parameter ini tidak dapat diatur ke Write.

inheritability
HandleInheritability

Salah satu nilai enumerasi yang menentukan apakah handel ke file yang dipetakan memori dapat diwariskan oleh proses anak. Default adalah None.

leaveOpen
Boolean

Nilai yang menunjukkan apakah akan menutup aliran file sumber saat MemoryMappedFile dibuang.

Mengembalikan

File yang dipetakan memori yang memiliki karakteristik yang ditentukan.

Pengecualian

mapName adalah null atau string kosong.

-atau-

capacity dan panjang file adalah nol.

-atau-

access diatur ke Write atau Write nilai enumerasi, yang tidak diizinkan.

-atau-

access diatur ke Read dan capacity lebih besar dari panjang filestream.

fileStreamadalah null.

capacity kurang dari nol.

-atau-

capacity kurang dari ukuran file.

-atau-

access bukan nilai enumerasi yang valid MemoryMappedFileAccess .

-atau-

inheritability bukan nilai enumerasi yang valid HandleInheritability .

Berlaku untuk

CreateFromFile(FileStream, String, Int64, MemoryMappedFileAccess, MemoryMappedFileSecurity, HandleInheritability, Boolean)

Membuat file yang dipetakan memori yang memiliki nama, kapasitas, jenis akses, izin keamanan, pewarisan, dan persyaratan pembuangan yang ditentukan dari file pada disk.

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

Parameter

fileStream
FileStream

ke fileStream file yang akan dipetakan.

mapName
String

Nama untuk ditetapkan ke file yang dipetakan memori, atau null untuk MemoryMappedFile yang tidak ingin Anda bagikan di seluruh proses.

capacity
Int64

Ukuran maksimum, dalam byte, untuk mengalokasikan ke file yang dipetakan memori. Tentukan 0 untuk mengatur kapasitas ke ukuran file pada disk.

access
MemoryMappedFileAccess

Salah satu nilai enumerasi yang menentukan jenis akses yang diizinkan ke file yang dipetakan memori.

Parameter ini tidak dapat diatur ke Write.

memoryMappedFileSecurity
MemoryMappedFileSecurity

Izin yang dapat diberikan untuk akses file dan operasi pada file yang dipetakan memori.

Parameter ini dapat berupa null.

inheritability
HandleInheritability

Salah satu nilai enumerasi yang menentukan apakah handel ke file yang dipetakan memori dapat diwariskan oleh proses anak. Default adalah None.

leaveOpen
Boolean

trueuntuk tidak membuang fileStream setelah ditutup; false untuk membuang fileStreamMemoryMappedFile .

Mengembalikan

File yang dipetakan memori yang memiliki karakteristik yang ditentukan.

Atribut

Pengecualian

mapName adalah string kosong.

-atau-

capacity dan panjang file adalah nol.

-atau-

access diatur ke Read nilai atau Write enumerasi, yang tidak diizinkan.

fileStreamadalah null.

capacity kurang dari nol.

-atau-

capacity kurang dari ukuran file.

-atau-

access bukan nilai enumerasi yang valid MemoryMappedFileAccess .

-atau-

inheritability bukan nilai enumerasi yang valid HandleInheritability .

fileStream ditutup.

access diatur ke ReadWrite ketika fileStreamakses diatur ke Read atau Write.

mapName sudah ada.

Keterangan

Jika capacity lebih besar dari ukuran file pada disk, file pada disk ditingkatkan agar sesuai dengan kapasitas yang ditentukan bahkan jika tidak ada data yang ditulis ke file yang dipetakan memori. Untuk mencegah hal ini terjadi, tentukan 0 (nol) untuk kapasitas default, yang secara internal akan diatur capacity ke ukuran file pada disk.

Lihat juga

Berlaku untuk