MemoryMappedFile.OpenExisting MemoryMappedFile.OpenExisting MemoryMappedFile.OpenExisting MemoryMappedFile.OpenExisting Method

定義

システム メモリ内で既存の名前付きメモリ マップト ファイルを開きます。Opens an existing named memory-mapped file in system memory.

オーバーロード

OpenExisting(String) OpenExisting(String) OpenExisting(String) OpenExisting(String)

システム メモリ内で名前が指定されたメモリ マップト ファイルを開きます。Opens an existing memory-mapped file that has the specified name in system memory.

OpenExisting(String, MemoryMappedFileRights) OpenExisting(String, MemoryMappedFileRights) OpenExisting(String, MemoryMappedFileRights) OpenExisting(String, MemoryMappedFileRights)

システム メモリ内で名前およびアクセス権が指定されたメモリ マップト ファイルを開きます。Opens an existing memory-mapped file that has the specified name and access rights in system memory.

OpenExisting(String, MemoryMappedFileRights, HandleInheritability) OpenExisting(String, MemoryMappedFileRights, HandleInheritability) OpenExisting(String, MemoryMappedFileRights, HandleInheritability) OpenExisting(String, MemoryMappedFileRights, HandleInheritability)

システム メモリ内で名前、アクセス権、および継承性が指定されたメモリ マップト ファイルを開きます。Opens an existing memory-mapped file that has the specified name, access rights, and inheritability in system memory.

OpenExisting(String) OpenExisting(String) OpenExisting(String) OpenExisting(String)

システム メモリ内で名前が指定されたメモリ マップト ファイルを開きます。Opens an existing memory-mapped file that has the specified name in system memory.

public:
 static System::IO::MemoryMappedFiles::MemoryMappedFile ^ OpenExisting(System::String ^ mapName);
public static System.IO.MemoryMappedFiles.MemoryMappedFile OpenExisting (string mapName);
static member OpenExisting : string -> System.IO.MemoryMappedFiles.MemoryMappedFile
Public Shared Function OpenExisting (mapName As String) As MemoryMappedFile

パラメーター

mapName
String String String String

メモリ マップト ファイルの名前。The name of the memory-mapped file.

戻り値

指定された名前を持つメモリ マップト ファイル。A memory-mapped file that has the specified name.

例外

mapName が空の文字列です。mapName is an empty string.

mapName に指定されたファイルが存在しません。The file specified for mapName does not exist.

永続化メモリマップトファイルを開くOpening a Persisted Memory-Mapped File

次の例では、という名前ImgAのメモリマップトファイルを開きます。このファイルは、( CreateFromFile(String)メソッドの例で示すように) ディスク上のファイルから既に作成されています。The following example opens a memory-mapped file named ImgA that has already been created from a file on disk (as shown in the example for the CreateFromFile(String) method).

using System;
using System.IO.MemoryMappedFiles;
using System.Runtime.InteropServices;


class Program
{
    static void Main(string[] args)
    {
        // Assumes another process has created the memory-mapped file.
        using (var mmf = MemoryMappedFile.OpenExisting("ImgA"))
        {
            using (var accessor = mmf.CreateViewAccessor(4000000, 2000000))
            {
                int colorSize = Marshal.SizeOf(typeof(MyColor));
                MyColor color;

                // Make changes to the view.
                for (long i = 0; i < 1500000; i += colorSize)
                {
                    accessor.Read(i, out color);
                    color.Brighten(20);
                    accessor.Write(i, ref color);
                }
            }
        }
    }
}

public struct MyColor
{
    public short Red;
    public short Green;
    public short Blue;
    public short Alpha;

    // Make the view brigher.
    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.MemoryMappedFiles
Imports System.Runtime.InteropServices

Class Program
    Public Shared Sub Main(ByVal args As String())
        ' Assumes another process has created the memory-mapped file.
        Using mmf = MemoryMappedFile.OpenExisting("ImgA")
            Using accessor = mmf.CreateViewAccessor(4000000, 2000000)
                Dim colorSize As Integer = Marshal.SizeOf(GetType(MyColor))
                Dim color As MyColor

                ' Make changes to the view.
                Dim i As Long = 0
                While i < 1500000
                    accessor.Read(i, color)
                    color.Brighten(30)
                    accessor.Write(i, color)
                    i += colorSize
                End While
            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 brigher.
    Public Sub Brighten(ByVal value As Short)
        Red = CShort(Math.Min(Short.MaxValue, CInt(Red) + value))
        Green = CShort(Math.Min(Short.MaxValue, CInt(Green) + value))
        Blue = CShort(Math.Min(Short.MaxValue, CInt(Blue) + value))
        Alpha = CShort(Math.Min(Short.MaxValue, CInt(Alpha) + value))
    End Sub
End Structure

非永続化メモリマップトファイルを開くOpening a Non-Persisted Memory-Mapped File

次の例では、プロセス間通信に使用されるメモリマップトファイルを開きます。The following example opens a memory-mapped file used for inter-process communication. このコード例は、 CreateNew(String, Int64)メソッドに提供されているより大きな例の一部です。This code example is part of a larger example provided for the CreateNew(String, Int64) method.

注釈

メモリマップトファイルには、永続化されたメモリマップトファイル (ディスク上のファイルに関連付けられています) または非永続化されたファイルのいずれかを指定できます。The memory-mapped file can be either a persisted memory-mapped file (associated with a file on disk) or non-persisted.

こちらもご覧ください

OpenExisting(String, MemoryMappedFileRights) OpenExisting(String, MemoryMappedFileRights) OpenExisting(String, MemoryMappedFileRights) OpenExisting(String, MemoryMappedFileRights)

システム メモリ内で名前およびアクセス権が指定されたメモリ マップト ファイルを開きます。Opens an existing memory-mapped file that has the specified name and access rights in system memory.

public:
 static System::IO::MemoryMappedFiles::MemoryMappedFile ^ OpenExisting(System::String ^ mapName, System::IO::MemoryMappedFiles::MemoryMappedFileRights desiredAccessRights);
public static System.IO.MemoryMappedFiles.MemoryMappedFile OpenExisting (string mapName, System.IO.MemoryMappedFiles.MemoryMappedFileRights desiredAccessRights);
static member OpenExisting : string * System.IO.MemoryMappedFiles.MemoryMappedFileRights -> System.IO.MemoryMappedFiles.MemoryMappedFile
Public Shared Function OpenExisting (mapName As String, desiredAccessRights As MemoryMappedFileRights) As MemoryMappedFile

パラメーター

mapName
String String String String

開くメモリ マップト ファイルの名前。The name of the memory-mapped file to open.

desiredAccessRights
MemoryMappedFileRights MemoryMappedFileRights MemoryMappedFileRights MemoryMappedFileRights

メモリ マップト ファイルに適用するアクセス権を指定する列挙値の 1 つ。One of the enumeration values that specifies the access rights to apply to the memory-mapped file.

戻り値

指定された特性を持つメモリ マップト ファイル。A memory-mapped file that has the specified characteristics.

例外

mapName が空の文字列です。mapName is an empty string.

desiredAccessRights が有効な MemoryMappedFileRights 列挙値ではありません。desiredAccessRights is not a valid MemoryMappedFileRights enumeration value.

mapName に指定されたファイルが存在しません。The file specified for mapName does not exist.

こちらもご覧ください

OpenExisting(String, MemoryMappedFileRights, HandleInheritability) OpenExisting(String, MemoryMappedFileRights, HandleInheritability) OpenExisting(String, MemoryMappedFileRights, HandleInheritability) OpenExisting(String, MemoryMappedFileRights, HandleInheritability)

システム メモリ内で名前、アクセス権、および継承性が指定されたメモリ マップト ファイルを開きます。Opens an existing memory-mapped file that has the specified name, access rights, and inheritability in system memory.

public:
 static System::IO::MemoryMappedFiles::MemoryMappedFile ^ OpenExisting(System::String ^ mapName, System::IO::MemoryMappedFiles::MemoryMappedFileRights desiredAccessRights, System::IO::HandleInheritability inheritability);
[System.Security.SecurityCritical]
public static System.IO.MemoryMappedFiles.MemoryMappedFile OpenExisting (string mapName, System.IO.MemoryMappedFiles.MemoryMappedFileRights desiredAccessRights, System.IO.HandleInheritability inheritability);
static member OpenExisting : string * System.IO.MemoryMappedFiles.MemoryMappedFileRights * System.IO.HandleInheritability -> System.IO.MemoryMappedFiles.MemoryMappedFile
Public Shared Function OpenExisting (mapName As String, desiredAccessRights As MemoryMappedFileRights, inheritability As HandleInheritability) As MemoryMappedFile

パラメーター

mapName
String String String String

開くメモリ マップト ファイルの名前。The name of the memory-mapped file to open.

desiredAccessRights
MemoryMappedFileRights MemoryMappedFileRights MemoryMappedFileRights MemoryMappedFileRights

メモリ マップト ファイルに適用するアクセス権を指定する列挙値の 1 つ。One of the enumeration values that specifies the access rights to apply to the memory-mapped file.

inheritability
HandleInheritability HandleInheritability HandleInheritability HandleInheritability

メモリ マップト ファイルへのハンドルを子プロセスが継承できるかどうかを指定する列挙値の 1 つ。One of the enumeration values that specifies whether a handle to the memory-mapped file can be inherited by a child process. 既定値は、None です。The default is None.

戻り値

指定された特性を持つメモリ マップト ファイル。A memory-mapped file that has the specified characteristics.

例外

mapName が空の文字列です。mapName is an empty string.

desiredAccessRights が有効な MemoryMappedFileRights 列挙値ではありません。desiredAccessRights is not a valid MemoryMappedFileRights enumeration value.

- または --or- inheritability が有効な HandleInheritability 列挙値ではありません。inheritability is not a valid HandleInheritability enumeration value.

要求されたアクセスは、メモリ マップト ファイルに対して無効です。The requested access is invalid for the memory-mapped file.

mapName に指定されたファイルが存在しません。The file specified for mapName does not exist.

セキュリティ

SecurityPermission
アンマネージコードへのアクセスに使用します。for access to unmanaged code. UnmanagedCode (関連する列挙体)Associated enumeration: UnmanagedCode.

こちらもご覧ください

適用対象