MemoryMappedFile.CreateFromFile メソッド

定義

既存のファイルからメモリ マップト ファイルを作成します。

オーバーロード

名前 説明
CreateFromFile(String)

ディスク上のファイルからメモリ マップト ファイルを作成します。

CreateFromFile(String, FileMode)

ディスク上のファイルから、指定したアクセス モードを持つメモリ マップト ファイルを作成します。

CreateFromFile(String, FileMode, String)

ディスク上のファイルから、指定されたアクセス モードと名前を持つメモリ マップト ファイルを作成します。

CreateFromFile(String, FileMode, String, Int64)

ディスク上のファイルから、指定したアクセス モード、名前、および容量を持つメモリ マップト ファイルを作成します。

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

ディスク上のファイルから、指定したアクセス モード、名前、容量、およびアクセスの種類を持つメモリ マップト ファイルを作成します。

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

SafeFileHandleと、指定したアクセス モード、名前、継承可能性、および容量を使用して、既存のファイルからメモリ マップト ファイルを作成します。

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

指定されたアクセス モード、名前、継承可能性、および容量を持つ既存のファイルからメモリ マップト ファイルを作成します。

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

ディスク上のファイルから、指定した名前、容量、アクセスの種類、セキュリティアクセス許可、継承可能性、破棄要件を持つメモリ マップト ファイルを作成します。

CreateFromFile(String)

ソース:
MemoryMappedFile.cs
ソース:
MemoryMappedFile.cs
ソース:
MemoryMappedFile.cs
ソース:
MemoryMappedFile.cs
ソース:
MemoryMappedFile.cs

ディスク上のファイルからメモリ マップト ファイルを作成します。

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

パラメーター

path
String

マップするファイルへのパス。

返品

メモリ マップト ファイル。

例外

path は空の文字列で、空白のみを含むか、 GetInvalidFileNameChars() メソッドで定義されている無効な文字が 1 つ以上含まれています。

-又は-

path は無効なデバイスを参照します。

pathnullです。

I/O エラーが発生しました。

path は、オペレーティング システムで定義されている最大長を超えています。

呼び出し元には、ファイルに必要なアクセス許可がありません。

次の例では、 CreateFromFile メソッドを使用してメモリ マップト ファイルを作成し、メモリ マップト ビューを非常に大きなファイルの一部に作成します。

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

こちらもご覧ください

適用対象

CreateFromFile(String, FileMode)

ソース:
MemoryMappedFile.cs
ソース:
MemoryMappedFile.cs
ソース:
MemoryMappedFile.cs
ソース:
MemoryMappedFile.cs
ソース:
MemoryMappedFile.cs

ディスク上のファイルから、指定したアクセス モードを持つメモリ マップト ファイルを作成します。

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

パラメーター

path
String

マップするファイルへのパス。

mode
FileMode

アクセス モード。は Openする必要があります。

返品

指定されたアクセス モードを持つメモリ マップト ファイル。

例外

path は空の文字列で、空白のみを含むか、 GetInvalidFileNameChars() メソッドで定義されている無効な文字が 1 つ以上含まれています。

-又は-

path は無効なデバイスを参照します。

-又は-

modeAppendです。

pathnullです。

modeCreateCreateNew、または Truncateです。

-又は-

modeOpenOrCreate され、ディスク上のファイルが存在しません。

-又は-

I/O エラーが発生しました。

path は、オペレーティング システムで定義されている最大長を超えています。

呼び出し元には、ファイルに必要なアクセス許可がありません。

注釈

mode パラメーターは、ディスク上のソース ファイルに関連します。 Open列挙値のみを使用して、ディスク上のソース ファイルからメモリ マップト ファイルを作成できます。

こちらもご覧ください

適用対象

CreateFromFile(String, FileMode, String)

ソース:
MemoryMappedFile.cs
ソース:
MemoryMappedFile.cs
ソース:
MemoryMappedFile.cs
ソース:
MemoryMappedFile.cs
ソース:
MemoryMappedFile.cs

ディスク上のファイルから、指定されたアクセス モードと名前を持つメモリ マップト ファイルを作成します。

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

パラメーター

path
String

マップするファイルへのパス。

mode
FileMode

アクセス モード。は Openする必要があります。

mapName
String

メモリ マップト ファイルに割り当てる名前、またはプロセス間で共有しないnullMemoryMappedFile

返品

指定した名前とアクセス モードを持つメモリ マップト ファイル。

例外

path は空の文字列で、空白のみを含むか、 GetInvalidFileNameChars() メソッドで定義されている無効な文字が 1 つ以上含まれています。

-又は-

path は無効なデバイスを参照します。

-又は-

mapName は空の文字列です。

-又は-

modeAppendです。

pathnullです。

modeCreateCreateNew、または Truncateです。

-又は-

modeOpenOrCreate され、ディスク上のファイルが存在しません。

-又は-

I/O エラーが発生しました。

path は、オペレーティング システムで定義されている最大長を超えています。

呼び出し元には、ファイルに必要なアクセス許可がありません。

注釈

mode パラメーターは、ディスク上のソース ファイルに関連します。 Open列挙値のみを使用して、ディスク上のソース ファイルからメモリ マップト ファイルを作成できます。

適用対象

CreateFromFile(String, FileMode, String, Int64)

ソース:
MemoryMappedFile.cs
ソース:
MemoryMappedFile.cs
ソース:
MemoryMappedFile.cs
ソース:
MemoryMappedFile.cs
ソース:
MemoryMappedFile.cs

ディスク上のファイルから、指定したアクセス モード、名前、および容量を持つメモリ マップト ファイルを作成します。

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

パラメーター

path
String

マップするファイルへのパス。

mode
FileMode

アクセス モード。には、FileModeを除く任意のAppend列挙値を指定できます。

mapName
String

メモリ マップト ファイルに割り当てる名前、またはプロセス間で共有しないnullMemoryMappedFile

capacity
Int64

メモリ マップト ファイルに割り当てる最大サイズ (バイト単位)。 ディスク上のファイルのサイズに容量を設定するには、0 を指定します。

返品

指定した特性を持つメモリ マップト ファイル。

例外

path は空の文字列で、空白のみを含むか、 GetInvalidFileNameChars() メソッドで定義されている無効な文字が 1 つ以上含まれています。

-又は-

path は無効なデバイスを参照します。

-又は-

mapName は空の文字列です。

-又は-

modeAppendです。

pathnullです。

capacity が論理アドレス空間のサイズを超えています。

-又は-

capacity が 0 未満です。

-又は-

capacity がファイル サイズより小さい (0 ではない)。

-又は-

capacity は 0 で、ディスク上のファイルのサイズも 0 です。

I/O エラーが発生しました。

path は、オペレーティング システムで定義されている最大長を超えています。

呼び出し元には、ファイルに必要なアクセス許可がありません。

注釈

mode パラメーターは、ディスク上のソース ファイルに関連します。

capacityディスク上のファイルのサイズより大きい場合、メモリ マップト ファイルにデータが書き込まれていなくても、ディスク上のファイルは指定された容量に合わせて増やされます。 この問題が発生しないようにするには、既定の容量に 0 (ゼロ) を指定します。既定の容量では、 capacity ディスク上のファイルのサイズに内部的に設定されます。

適用対象

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

ソース:
MemoryMappedFile.cs
ソース:
MemoryMappedFile.cs
ソース:
MemoryMappedFile.cs
ソース:
MemoryMappedFile.cs
ソース:
MemoryMappedFile.cs

ディスク上のファイルから、指定したアクセス モード、名前、容量、およびアクセスの種類を持つメモリ マップト ファイルを作成します。

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

パラメーター

path
String

マップするファイルへのパス。

mode
FileMode

アクセス モード。には、FileModeを除く任意のAppend列挙値を指定できます。

mapName
String

メモリ マップト ファイルに割り当てる名前、またはプロセス間で共有しないnullMemoryMappedFile

capacity
Int64

メモリ マップト ファイルに割り当てる最大サイズ (バイト単位)。 ディスク上のファイルのサイズに容量を設定するには、0 を指定します。

access
MemoryMappedFileAccess

メモリ マップト ファイルに対して許可されるアクセスの種類を指定する列挙値の 1 つ。

返品

指定した特性を持つメモリ マップト ファイル。

属性

例外

mapName は空の文字列です。

-又は-

access は許可される値ではありません。

-又は-

path は空のファイルを指定します。

-又は-

accessRead として指定され、容量は pathで示されるファイルのサイズより大きくなります。

-又は-

modeAppendです。

pathnullです。

capacity が論理アドレス空間のサイズを超えています。

-又は-

capacity が 0 未満です。

-又は-

capacity がファイル サイズより小さい (0 ではない)。

-又は-

capacity は 0 で、ディスク上のファイルのサイズも 0 です。

-又は-

access は定義された MemoryMappedFileAccess 値ではありません。

-又は-

pathで示されるファイルのサイズがcapacityより大きい。

-又は-

I/O エラーが発生しました。

path は、オペレーティング システムで定義されている最大長を超えています。

呼び出し元には、ファイルに必要なアクセス許可がありません。

注釈

mode パラメーターは、ディスク上のソース ファイルに関連します。

capacityディスク上のファイルのサイズより大きい場合、メモリ マップト ファイルにデータが書き込まれていなくても、ディスク上のファイルは指定された容量に合わせて増やされます。 この問題が発生しないようにするには、既定の容量に 0 (ゼロ) を指定します。既定の容量では、 capacity ディスク上のファイルのサイズに内部的に設定されます。

こちらもご覧ください

適用対象

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

ソース:
MemoryMappedFile.cs
ソース:
MemoryMappedFile.cs
ソース:
MemoryMappedFile.cs
ソース:
MemoryMappedFile.cs

SafeFileHandleと、指定したアクセス モード、名前、継承可能性、および容量を使用して、既存のファイルからメモリ マップト ファイルを作成します。

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

パラメーター

fileHandle
SafeFileHandle

既存のファイルへの SafeFileHandle 。 呼び出し元は、leaveOpentrueされたときにfileHandleを破棄する必要があります (それ以外の場合は、MemoryMappedFileによって自動的に破棄されます)。

mapName
String

メモリ マップト ファイルに割り当てる名前、またはプロセス間で共有しないnullMemoryMappedFile

capacity
Int64

メモリ マップト ファイルに割り当てる最大サイズ (バイト単位)。 容量をファイルのサイズに設定するには、0 を指定します。

access
MemoryMappedFileAccess

メモリ マップト ファイルに対して許可されるアクセスの種類を指定する列挙値の 1 つ。

このパラメーターを Write に設定することはできません。

inheritability
HandleInheritability

メモリ マップト ファイルのハンドルを子プロセスで継承できるかどうかを指定する列挙値の 1 つ。 既定値は None です。

leaveOpen
Boolean

MemoryMappedFileが破棄されたときにソース ファイル ハンドルを閉じるかどうかを示す値。

返品

指定した特性を持つメモリ マップト ファイル。

例外

mapNamenull または空の文字列です。

-又は-

capacity ファイルの長さが 0 です。

-又は-

accessWriteに設定されています。これは許可されていません。

-又は-

accessRead に設定され、 capacity がファイルの長さを超えています。

fileHandlenullです。

capacity が 0 未満です。

-又は-

capacity がファイル サイズより小さい。

-又は-

access が有効な MemoryMappedFileAccess 列挙値ではありません。

-又は-

inheritability が有効な HandleInheritability 列挙値ではありません。

適用対象

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

ソース:
MemoryMappedFile.cs
ソース:
MemoryMappedFile.cs
ソース:
MemoryMappedFile.cs
ソース:
MemoryMappedFile.cs
ソース:
MemoryMappedFile.cs

指定されたアクセス モード、名前、継承可能性、および容量を持つ既存のファイルからメモリ マップト ファイルを作成します。

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

パラメーター

fileStream
FileStream

既存のファイルのファイル ストリーム。

mapName
String

メモリ マップト ファイルに割り当てる名前、またはプロセス間で共有しないnullMemoryMappedFile

capacity
Int64

メモリ マップト ファイルに割り当てる最大サイズ (バイト単位)。 容量を filestreamのサイズに設定するには、0 を指定します。

access
MemoryMappedFileAccess

メモリ マップト ファイルに対して許可されるアクセスの種類を指定する列挙値の 1 つ。

このパラメーターを Write に設定することはできません。

inheritability
HandleInheritability

メモリ マップト ファイルのハンドルを子プロセスで継承できるかどうかを指定する列挙値の 1 つ。 既定値は None です。

leaveOpen
Boolean

MemoryMappedFileが破棄されたときにソース ファイル ストリームを閉じるかどうかを示す値。

返品

指定した特性を持つメモリ マップト ファイル。

例外

mapNamenull または空の文字列です。

-又は-

capacity ファイルの長さが 0 です。

-又は-

accessWrite または Write 列挙値に設定されています。これは許可されていません。

-又は-

accessRead に設定され、 capacityfilestreamの長さよりも大きくなります。

fileStreamnullです。

capacity が 0 未満です。

-又は-

capacity がファイル サイズより小さい。

-又は-

access が有効な MemoryMappedFileAccess 列挙値ではありません。

-又は-

inheritability が有効な HandleInheritability 列挙値ではありません。

適用対象

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

ディスク上のファイルから、指定した名前、容量、アクセスの種類、セキュリティアクセス許可、継承可能性、破棄要件を持つメモリ マップト ファイルを作成します。

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

パラメーター

fileStream
FileStream

マップするファイルへの fileStream

mapName
String

メモリ マップト ファイルに割り当てる名前、またはプロセス間で共有しないnullMemoryMappedFile

capacity
Int64

メモリ マップト ファイルに割り当てる最大サイズ (バイト単位)。 ディスク上のファイルのサイズに容量を設定するには、0 を指定します。

access
MemoryMappedFileAccess

メモリ マップト ファイルに対して許可されるアクセスの種類を指定する列挙値の 1 つ。

このパラメーターを Write に設定することはできません。

memoryMappedFileSecurity
MemoryMappedFileSecurity

ファイル アクセスとメモリ マップト ファイルに対する操作に付与できるアクセス許可。

このパラメーターは、null に設定できます。

inheritability
HandleInheritability

メモリ マップト ファイルのハンドルを子プロセスで継承できるかどうかを指定する列挙値の 1 つ。 既定値は None です。

leaveOpen
Boolean

true fileStreamが閉じられた後にMemoryMappedFileを破棄しない場合は。falseを破棄fileStream

返品

指定した特性を持つメモリ マップト ファイル。

属性

例外

mapName は空の文字列です。

-又は-

capacity ファイルの長さが 0 です。

-又は-

access は、許可されていない Read または Write 列挙値に設定されます。

fileStreamnullです。

capacity が 0 未満です。

-又は-

capacity がファイル サイズより小さい。

-又は-

access が有効な MemoryMappedFileAccess 列挙値ではありません。

-又は-

inheritability が有効な HandleInheritability 列挙値ではありません。

fileStream が閉じられました。

accessは、ReadWriteのアクセスがfileStreamまたはReadに設定されている場合にWriteに設定されます。

mapName は既に存在します。

注釈

capacityディスク上のファイルのサイズより大きい場合、メモリ マップト ファイルにデータが書き込まれていなくても、ディスク上のファイルは指定された容量に合わせて増やされます。 この問題が発生しないようにするには、既定の容量に 0 (ゼロ) を指定します。既定の容量では、 capacity ディスク上のファイルのサイズに内部的に設定されます。

こちらもご覧ください

適用対象