MemoryMappedFile.CreateFromFile Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.
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.
- 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
.
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-
access
est 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é.
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.