Partager via


MemoryMappedFile.CreateFromFile Méthode

Définition

Crée un fichier mappé en mémoire à partir d'un fichier existant.

Surcharges

CreateFromFile(String)

Crée un fichier mappé en mémoire à partir d'un fichier sur le disque.

CreateFromFile(String, FileMode)

Crée un fichier mappé en mémoire qui a le mode d’accès spécifié d’un fichier sur le disque.

CreateFromFile(String, FileMode, String)

Crée un fichier mappé en mémoire qui a le mode d'accès et le nom spécifiés d'un fichier sur le disque.

CreateFromFile(String, FileMode, String, Int64)

Crée un fichier mappé en mémoire qui a le mode d'accès, le nom et la capacité spécifiés d'un fichier sur le disque.

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

Crée un fichier mappé en mémoire qui a le mode d'accès, le nom, la capacité et le type d'accès spécifiés d'un fichier sur le disque.

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

Crée un fichier mappé en mémoire à partir d’un fichier existant à l’aide d’un SafeFileHandle et du mode d’accès, du nom, de l’héritage et de la capacité spécifiés.

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

Crée un fichier mappé en mémoire à partir d’un fichier existant avec le mode d’accès, le nom, les règles d’héritage et la capacité spécifiés.

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

Crée un fichier mappé en mémoire qui a le nom, la capacité, le type d’accès, les autorisations de sécurité, les règles d’héritage et les spécifications de suppression spécifiés d’un fichier sur le disque.

CreateFromFile(String)

Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs

Crée un fichier mappé en mémoire à partir d'un fichier sur le disque.

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

Paramètres

path
String

Chemin d’accès au fichier à mapper.

Retours

Fichier mappé en mémoire.

Exceptions

path est une chaîne vide, ne contient que des espaces blancs ou contient des caractères non valides définis par la méthode GetInvalidFileNameChars().

- ou -

path fait référence à un appareil non valide.

path a la valeur null.

Une erreur d'E/S s'est produite.

path dépasse la longueur maximale définie par le système d’exploitation.

L’appelant n’a pas les autorisations obligatoires pour le fichier.

Exemples

L’exemple suivant utilise la CreateFromFile méthode pour créer un fichier mappé en mémoire, puis crée une vue mappée en mémoire sur une partie d’un fichier extrêmement volumineux.

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

Voir aussi

S’applique à

CreateFromFile(String, FileMode)

Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs

Crée un fichier mappé en mémoire qui a le mode d’accès spécifié d’un fichier sur le disque.

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

Paramètres

path
String

Chemin d’accès au fichier à mapper.

mode
FileMode

Mode d’accès : doit être Open.

Retours

Fichier mappé en mémoire qui a le mode d'accès spécifié.

Exceptions

path est une chaîne vide, ne contient que des espaces blancs ou contient des caractères non valides définis par la méthode GetInvalidFileNameChars().

- ou -

path fait référence à un appareil non valide.

-ou-

mode a la valeur Append.

path a la valeur null.

mode a la valeur Create, CreateNew ou Truncate.

- ou -

mode a la valeur OpenOrCreate et le fichier sur disque n’existe pas.

- ou -

Une erreur d'E/S s'est produite.

path dépasse la longueur maximale définie par le système d’exploitation.

L’appelant n’a pas les autorisations obligatoires pour le fichier.

Remarques

Le mode paramètre se rapporte au fichier source sur le disque. Vous pouvez utiliser uniquement la valeur d’énumération Open pour créer le fichier mappé en mémoire à partir du fichier source sur le disque.

Voir aussi

S’applique à

CreateFromFile(String, FileMode, String)

Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs

Crée un fichier mappé en mémoire qui a le mode d'accès et le nom spécifiés d'un fichier sur le disque.

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

Paramètres

path
String

Chemin d’accès au fichier à mapper.

mode
FileMode

Mode d’accès : doit être Open.

mapName
String

Nom à attribuer au fichier mappé en mémoire, ou null pour un MemoryMappedFile que vous ne souhaitez pas partager entre plusieurs processus.

Retours

Fichier mappé en mémoire qui a le nom et le mode d'accès spécifiés.

Exceptions

path est une chaîne vide, ne contient que des espaces blancs ou contient des caractères non valides définis par la méthode GetInvalidFileNameChars().

- ou -

path fait référence à un appareil non valide.

- ou -

mapName est une chaîne vide.

-ou-

mode a la valeur Append.

path a la valeur null.

mode a la valeur Create, CreateNew ou Truncate.

- ou -

mode a la valeur OpenOrCreate et le fichier sur disque n’existe pas.

- ou -

Une erreur d'E/S s'est produite.

path dépasse la longueur maximale définie par le système d’exploitation.

L’appelant n’a pas les autorisations obligatoires pour le fichier.

Remarques

Le mode paramètre se rapporte au fichier source sur le disque. Vous pouvez utiliser uniquement la valeur d’énumération Open pour créer le fichier mappé en mémoire à partir du fichier source sur le disque.

S’applique à

CreateFromFile(String, FileMode, String, Int64)

Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs

Crée un fichier mappé en mémoire qui a le mode d'accès, le nom et la capacité spécifiés d'un fichier sur le disque.

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

Paramètres

path
String

Chemin d’accès au fichier à mapper.

mode
FileMode

Le mode d’accès peut avoir n’importe quelle valeur d’énumération FileMode sauf Append.

mapName
String

Nom à attribuer au fichier mappé en mémoire, ou null pour un MemoryMappedFile que vous ne souhaitez pas partager entre plusieurs processus.

capacity
Int64

Taille maximale (en octets) à allouer au fichier mappé en mémoire. Spécifiez 0 pour affecter à la capacité la taille du fichier sur le disque.

Retours

Fichier mappé en mémoire qui possède les caractéristiques spécifiées.

Exceptions

path est une chaîne vide, ne contient que des espaces blancs ou contient des caractères non valides définis par la méthode GetInvalidFileNameChars().

- ou -

path fait référence à un appareil non valide.

- ou -

mapName est une chaîne vide.

-ou-

mode a la valeur Append.

path a la valeur null.

capacity est supérieur à la taille de l’espace d’adressage logique.

- ou -

capacity est inférieur à zéro.

- ou -

capacity est inférieur à la taille de fichier (mais est différent de zéro).

- ou -

capacity est égal à zéro, et la taille du fichier sur le disque est aussi égale à zéro.

Une erreur d'E/S s'est produite.

path dépasse la longueur maximale définie par le système d’exploitation.

L’appelant n’a pas les autorisations obligatoires pour le fichier.

Remarques

Le mode paramètre se rapporte au fichier source sur le disque.

Si capacity est supérieur à la taille du fichier sur disque, le fichier sur disque est augmenté pour correspondre à la capacité spécifiée, même si aucune donnée n’est écrite dans le fichier mappé en mémoire. Pour éviter cela, spécifiez 0 (zéro) pour la capacité par défaut, qui sera définie capacity en interne sur la taille du fichier sur le disque.

S’applique à

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

Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs

Crée un fichier mappé en mémoire qui a le mode d'accès, le nom, la capacité et le type d'accès spécifiés d'un fichier sur le disque.

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

Paramètres

path
String

Chemin d’accès au fichier à mapper.

mode
FileMode

Le mode d’accès peut avoir n’importe quelle valeur d’énumération FileMode sauf Append.

mapName
String

Nom à attribuer au fichier mappé en mémoire, ou null pour un MemoryMappedFile que vous ne souhaitez pas partager entre plusieurs processus.

capacity
Int64

Taille maximale (en octets) à allouer au fichier mappé en mémoire. Spécifiez 0 pour affecter à la capacité la taille du fichier sur le disque.

access
MemoryMappedFileAccess

L'une des valeurs d'énumération qui spécifie le type d'accès autorisé au fichier mappé en mémoire.

Retours

Fichier mappé en mémoire qui possède les caractéristiques spécifiées.

Attributs

Exceptions

mapName est une chaîne vide.

- ou -

access n’est pas une valeur autorisée.

- ou -

path spécifie un fichier vide.

- ou -

access est spécifié comme Read et la capacité est supérieure à la taille du fichier indiquée par path.

-ou-

mode a la valeur Append.

path a la valeur null.

capacity est supérieur à la taille de l’espace d’adressage logique.

- ou -

capacity est inférieur à zéro.

- ou -

capacity est inférieur à la taille de fichier (mais est différent de zéro).

- ou -

capacity est égal à zéro, et la taille du fichier sur le disque est aussi égale à zéro.

- ou -

access n’est pas une valeur MemoryMappedFileAccess définie.

- ou -

La taille du fichier indiqué par path est supérieure à capacity.

- ou -

Une erreur d'E/S s'est produite.

path dépasse la longueur maximale définie par le système d’exploitation.

L’appelant n’a pas les autorisations obligatoires pour le fichier.

Remarques

Le mode paramètre se rapporte au fichier source sur le disque.

Si capacity est supérieur à la taille du fichier sur disque, le fichier sur disque est augmenté pour correspondre à la capacité spécifiée, même si aucune donnée n’est écrite dans le fichier mappé en mémoire. Pour éviter cela, spécifiez 0 (zéro) pour la capacité par défaut, qui sera définie capacity en interne sur la taille du fichier sur le disque.

Voir aussi

S’applique à

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

Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs

Crée un fichier mappé en mémoire à partir d’un fichier existant à l’aide d’un SafeFileHandle et du mode d’accès, du nom, de l’héritage et de la capacité spécifiés.

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

Paramètres

fileHandle
SafeFileHandle

SafeFileHandle vers le fichier existant. L’appelant est responsable de fileHandle la suppression lorsque leaveOpen est true (sinon, supprimé automatiquement par le MemoryMappedFile).

mapName
String

Nom à attribuer au fichier mappé en mémoire, ou null pour un MemoryMappedFile que vous ne souhaitez pas partager entre plusieurs processus.

capacity
Int64

Taille maximale (en octets) à allouer au fichier mappé en mémoire. Spécifiez 0 pour définir la capacité sur la taille du fichier.

access
MemoryMappedFileAccess

L'une des valeurs d'énumération qui spécifie le type d'accès autorisé au fichier mappé en mémoire.

Ce paramètre ne peut pas avoir la valeur Write.

inheritability
HandleInheritability

L'une des valeurs d'énumération qui spécifie si un processus enfant peut hériter d'un handle au fichier mappé en mémoire. La valeur par défaut est None.

leaveOpen
Boolean

Valeur qui indique s’il faut fermer le handle de fichier source lorsque le MemoryMappedFile est supprimé.

Retours

Fichier mappé en mémoire qui possède les caractéristiques spécifiées.

Exceptions

mapName est soit null soit une chaîne vide.

- ou -

capacity et la longueur du fichier ont une valeur égale à zéro.

- ou -

access est défini sur Write, ce qui n’est pas autorisé.

-ou-

accessest défini sur et capacity est supérieur à Read la longueur du fichier.

fileHandle a la valeur null.

capacity est inférieur à zéro.

- ou -

capacity est inférieur à la taille du fichier.

- ou -

access n’est pas une valeur d’énumération MemoryMappedFileAccess valide.

- ou -

inheritability n’est pas une valeur d’énumération HandleInheritability valide.

S’applique à

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

Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs
Source:
MemoryMappedFile.cs

Crée un fichier mappé en mémoire à partir d’un fichier existant avec le mode d’accès, le nom, les règles d’héritage et la capacité spécifiés.

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

Paramètres

fileStream
FileStream

Flux de fichier du fichier existant.

mapName
String

Nom à attribuer au fichier mappé en mémoire, ou null pour un MemoryMappedFile que vous ne souhaitez pas partager entre plusieurs processus.

capacity
Int64

Taille maximale (en octets) à allouer au fichier mappé en mémoire. Spécifiez 0 pour définir la capacité sur la taille de filestream.

access
MemoryMappedFileAccess

L'une des valeurs d'énumération qui spécifie le type d'accès autorisé au fichier mappé en mémoire.

Ce paramètre ne peut pas avoir la valeur Write.

inheritability
HandleInheritability

L'une des valeurs d'énumération qui spécifie si un processus enfant peut hériter d'un handle au fichier mappé en mémoire. La valeur par défaut est None.

leaveOpen
Boolean

Valeur qui indique s’il faut fermer le flux de fichier source quand le MemoryMappedFile est supprimé.

Retours

Fichier mappé en mémoire qui possède les caractéristiques spécifiées.

Exceptions

mapName est soit null soit une chaîne vide.

- ou -

capacity et la longueur du fichier ont une valeur égale à zéro.

- ou -

access a une valeur d’énumération Write ou Write, qui n’est pas autorisée.

- ou -

access a la valeur Read et capacity est supérieur à la longueur de filestream.

fileStream a la valeur null.

capacity est inférieur à zéro.

- ou -

capacity est inférieur à la taille du fichier.

- ou -

access n’est pas une valeur d’énumération MemoryMappedFileAccess valide.

- ou -

inheritability n’est pas une valeur d’énumération HandleInheritability valide.

S’applique à

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

Crée un fichier mappé en mémoire qui a le nom, la capacité, le type d’accès, les autorisations de sécurité, les règles d’héritage et les spécifications de suppression spécifiés d’un fichier sur le disque.

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

Paramètres

fileStream
FileStream

fileStream du fichier à mapper.

mapName
String

Nom à attribuer au fichier mappé en mémoire, ou null pour un MemoryMappedFile que vous ne souhaitez pas partager entre plusieurs processus.

capacity
Int64

Taille maximale (en octets) à allouer au fichier mappé en mémoire. Spécifiez 0 pour affecter à la capacité la taille du fichier sur le disque.

access
MemoryMappedFileAccess

L'une des valeurs d'énumération qui spécifie le type d'accès autorisé au fichier mappé en mémoire.

Ce paramètre ne peut pas avoir la valeur Write.

memoryMappedFileSecurity
MemoryMappedFileSecurity

Autorisations qui peuvent être accordées pour l'accès aux fichiers et aux opérations sur les fichiers mappés en mémoire.

Ce paramètre peut être null.

inheritability
HandleInheritability

L'une des valeurs d'énumération qui spécifie si un processus enfant peut hériter d'un handle au fichier mappé en mémoire. La valeur par défaut est None.

leaveOpen
Boolean

true pour ne pas supprimer fileStream après la fermeture de MemoryMappedFile ; false pour supprimer fileStream.

Retours

Fichier mappé en mémoire qui possède les caractéristiques spécifiées.

Attributs

Exceptions

mapName est une chaîne vide.

- ou -

capacity et la longueur du fichier ont une valeur égale à zéro.

- ou -

access a la valeur d’énumération Read ou Write, qui n’est pas autorisée.

fileStream a la valeur null.

capacity est inférieur à zéro.

- ou -

capacity est inférieur à la taille du fichier.

- ou -

access n’est pas une valeur d’énumération MemoryMappedFileAccess valide.

- ou -

inheritability n’est pas une valeur d’énumération HandleInheritability valide.

fileStream a été fermé.

access a la valeur ReadWrite quand l’accès à fileStream a la valeur Read ou Write.

mapName existe déjà.

Remarques

Si capacity est supérieur à la taille du fichier sur disque, le fichier sur disque est augmenté pour correspondre à la capacité spécifiée, même si aucune donnée n’est écrite dans le fichier mappé en mémoire. Pour éviter cela, spécifiez 0 (zéro) pour la capacité par défaut, qui sera définie capacity en interne sur la taille du fichier sur le disque.

Voir aussi

S’applique à