次の方法で共有


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

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

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

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

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

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

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

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

戻り値

名前およびアクセス モードが指定されたメモリ マップト ファイル。

例外

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

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

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

アクセス モード。Append 以外の FileMode 列挙値を指定できます。

mapName
String

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

capacity
Int64

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

戻り値

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

例外

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

- または -

path が無効なデバイスを参照しています。

- または -

mapName が空の文字列です。

または

modeAppend です。

pathnullです。

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

- または -

capacity が 0 未満です。

- または -

capacity がファイル サイズを下回っています (ゼロではない)。

- または -

capacity がゼロで、ディスク上のファイルのサイズもゼロです。

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

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

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

注釈

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

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

適用対象

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

ソース:
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

アクセス モード。Append 以外の FileMode 列挙値を指定できます。

mapName
String

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

capacity
Int64

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

access
MemoryMappedFileAccess

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

戻り値

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

属性

例外

mapName が空の文字列です。

- または -

access が許可値ではありません。

- または -

path が空のファイルを指定しています。

- または -

accessRead として指定され、容量が path によって指定されたファイルのサイズを超えています。

- または -

modeAppend です。

pathnullです。

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

- または -

capacity が 0 未満です。

- または -

capacity がファイル サイズを下回っています (ゼロではない)。

- または -

capacity がゼロで、ディスク上のファイルのサイズもゼロです。

- または -

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

- または -

path によって示されるファイルのサイズが capacity を超える値です。

- または -

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

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

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

注釈

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

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

こちらもご覧ください

適用対象

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

ソース:
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既存のファイルの 。 が の場合leaveOpen、呼び出し元は true を破棄するfileHandle必要があります (それ以外の場合は、 MemoryMappedFileによって自動的に破棄されます)。

mapName
String

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

capacity
Int64

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

access
MemoryMappedFileAccess

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

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

inheritability
HandleInheritability

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

leaveOpen
Boolean

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

戻り値

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

例外

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

- または -

capacity とファイルの長さがゼロです。

- または -

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

または

access は に Read 設定され、 capacity ファイルの長さよりも大きくなります。

fileHandlenull です。

capacity が 0 未満です。

- または -

capacity がファイル サイズ未満です。

- または -

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

- または -

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

適用対象

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

ソース:
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

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

capacity
Int64

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

access
MemoryMappedFileAccess

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

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

inheritability
HandleInheritability

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

leaveOpen
Boolean

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

戻り値

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

例外

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

- または -

capacity とファイルの長さがゼロです。

- または -

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

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

capacity
Int64

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

access
MemoryMappedFileAccess

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

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

memoryMappedFileSecurity
MemoryMappedFileSecurity

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

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

inheritability
HandleInheritability

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

leaveOpen
Boolean

MemoryMappedFile を閉じた後で fileStream を破棄しない場合は truefileStream を破棄する場合は false

戻り値

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

属性

例外

mapName が空の文字列です。

- または -

capacity とファイルの長さがゼロです。

- または -

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

fileStreamnullです。

capacity が 0 未満です。

- または -

capacity がファイル サイズ未満です。

- または -

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

- または -

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

fileStream が閉じられました。

fileStream のアクセスを Read または Write に設定すると、accessReadWrite に設定されます。

mapName が既に存在します。

注釈

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

こちらもご覧ください

適用対象