WindowsRuntimeStorageExtensions.CreateSafeFileHandle Méthode

Définition

Crée et retourne une référence à un handle de fichier sécurisé pour l’instance IStorage en cours d’extension.

Surcharges

CreateSafeFileHandle(IStorageFolder, String, FileMode)

Crée un handle de fichier sécurisé pour un fichier qui se trouve dans l’instance de dossier de stockage actuelle.

CreateSafeFileHandle(IStorageFile, FileAccess, FileShare, FileOptions)

Crée un handle de fichier sécurisé pour l’instance de fichier de stockage actuelle.

CreateSafeFileHandle(IStorageFolder, String, FileMode, FileAccess, FileShare, FileOptions)

Crée un handle de fichier sécurisé pour un fichier qui se trouve dans l’instance de dossier de stockage actuelle.

Remarques

Avec la mise à jour anniversaire Windows 10, de nouvelles interfaces ont été ajoutées à IStorageFolder et IStorageFile qui permettent de créer un handle de fichier Win32 standard : IStorageFolderHandleAccess et IStorageItemHandleAccess. Le CreateSafeFileHandle groupe de méthodes d’extension tire parti des Create méthodes de ces interfaces.

Le principal avantage de l’API est l’accès à un répartiteur SafeFileHandle. Cela est d’une importance critique si vous souhaitez créer un FileStream autour d’un IStorageItem ou IStorageFolder lorsque vous exécutez dans un AppContainer. Lors de l’exécution dans un AppContainer, l’application dispose de droits d’accès aux fichiers très limités. Des éléments tels que les dossiers d’images et de documents nécessitent que le handle de fichier natif soit proxié via RuntimeBroker.exe, car le processus d’application lui-même n’a pas de droits sur la plupart des fichiers. Cette API obtient le handle proxié. Si vous accédez à des dossiers de données utilisateur ou utilisez un sélecteur de fichiers, cette API doit toujours être utilisée pour créer FileStream. L’utilisation d’un chemin est souvent levée AccessViolationException dans ces cas.

CreateSafeFileHandle(IStorageFolder, String, FileMode)

Important

Cette API n’est pas conforme CLS.

Crée un handle de fichier sécurisé pour un fichier qui se trouve dans l’instance de dossier de stockage actuelle.

public:
[System::Runtime::CompilerServices::Extension]
 static Microsoft::Win32::SafeHandles::SafeFileHandle ^ CreateSafeFileHandle(Windows::Storage::IStorageFolder ^ rootDirectory, System::String ^ relativePath, System::IO::FileMode mode);
[System.CLSCompliant(false)]
public static Microsoft.Win32.SafeHandles.SafeFileHandle CreateSafeFileHandle (this Windows.Storage.IStorageFolder rootDirectory, string relativePath, System.IO.FileMode mode);
[<System.CLSCompliant(false)>]
static member CreateSafeFileHandle : Windows.Storage.IStorageFolder * string * System.IO.FileMode -> Microsoft.Win32.SafeHandles.SafeFileHandle
<Extension()>
Public Function CreateSafeFileHandle (rootDirectory As IStorageFolder, relativePath As String, mode As FileMode) As SafeFileHandle

Paramètres

rootDirectory
IStorageFolder

Instance de dossier de stockage actuelle.

relativePath
String

Nom du fichier pour lequel vous voulez obtenir un handle.

mode
FileMode

Mode dans lequel le système d’exploitation doit ouvrir le fichier.

Retours

Instance de handle de fichier sécurisé si l’opération réussit ; null si la conversion du rootDirectory en IStorageFolderHandleAccess retourne null.

Attributs

Exceptions

rootDirectory a la valeur null.

-ou-

relativePath a la valeur null.

Remarques

Lors de l’appel de cette méthode, si le mode spécifié est FileMode.Append, le fichier est ouvert avec FileAccess.Read l’autorisation d’accès. Pour tous les autres modes, le fichier est ouvert avec FileAccess.ReadWrite l’autorisation d’accès.

En outre, cette méthode ouvre le fichier avec FileShare.Read un accès de partage de flux et des FileOptions.None options avancées de création de fichiers.

S’applique à

CreateSafeFileHandle(IStorageFile, FileAccess, FileShare, FileOptions)

Important

Cette API n’est pas conforme CLS.

Crée un handle de fichier sécurisé pour l’instance de fichier de stockage actuelle.

[System.CLSCompliant(false)]
public static Microsoft.Win32.SafeHandles.SafeFileHandle CreateSafeFileHandle (this Windows.Storage.IStorageFile windowsRuntimeFile, System.IO.FileAccess access = System.IO.FileAccess.ReadWrite, System.IO.FileShare share = System.IO.FileShare.Read, System.IO.FileOptions options = System.IO.FileOptions.None);
[<System.CLSCompliant(false)>]
static member CreateSafeFileHandle : Windows.Storage.IStorageFile * System.IO.FileAccess * System.IO.FileShare * System.IO.FileOptions -> Microsoft.Win32.SafeHandles.SafeFileHandle
<Extension()>
Public Function CreateSafeFileHandle (windowsRuntimeFile As IStorageFile, Optional access As FileAccess = System.IO.FileAccess.ReadWrite, Optional share As FileShare = System.IO.FileShare.Read, Optional options As FileOptions = System.IO.FileOptions.None) As SafeFileHandle

Paramètres

windowsRuntimeFile
IStorageFile

Instance de fichier de stockage.

access
FileAccess

Type d’accès qui doit être utilisé lors de l’ouverture du fichier. La valeur par défaut est ReadWrite.

share
FileShare

Type d’accès au partage de flux que d’autres objets FileStream peuvent avoir pour le même fichier. La valeur par défaut est Read.

options
FileOptions

Options avancées pour la création de l’objet FileStream. La valeur par défaut est None.

Retours

Instance de handle de fichier sécurisé si l’opération réussit ; null si la conversion du windowsRuntimeFile en IStorageItemHandleAccess retourne null.

Attributs

Exceptions

windowsRuntimeFile a la valeur null.

S’applique à

CreateSafeFileHandle(IStorageFolder, String, FileMode, FileAccess, FileShare, FileOptions)

Important

Cette API n’est pas conforme CLS.

Crée un handle de fichier sécurisé pour un fichier qui se trouve dans l’instance de dossier de stockage actuelle.

[System.CLSCompliant(false)]
public static Microsoft.Win32.SafeHandles.SafeFileHandle CreateSafeFileHandle (this Windows.Storage.IStorageFolder rootDirectory, string relativePath, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share = System.IO.FileShare.Read, System.IO.FileOptions options = System.IO.FileOptions.None);
[<System.CLSCompliant(false)>]
static member CreateSafeFileHandle : Windows.Storage.IStorageFolder * string * System.IO.FileMode * System.IO.FileAccess * System.IO.FileShare * System.IO.FileOptions -> Microsoft.Win32.SafeHandles.SafeFileHandle
<Extension()>
Public Function CreateSafeFileHandle (rootDirectory As IStorageFolder, relativePath As String, mode As FileMode, access As FileAccess, Optional share As FileShare = System.IO.FileShare.Read, Optional options As FileOptions = System.IO.FileOptions.None) As SafeFileHandle

Paramètres

rootDirectory
IStorageFolder

Instance de dossier de stockage actuelle.

relativePath
String

Nom du fichier pour lequel vous voulez obtenir un handle.

mode
FileMode

Mode dans lequel le système d’exploitation doit ouvrir le fichier.

access
FileAccess

Type d’accès qui doit être utilisé lors de l’ouverture du fichier.

share
FileShare

Type d’accès au partage de flux que d’autres objets FileStream peuvent avoir pour le même fichier. La valeur par défaut est Read.

options
FileOptions

Options avancées pour la création de l’objet FileStream. La valeur par défaut est None.

Retours

Instance de handle de fichier sécurisé si l’opération réussit ; null si la conversion du rootDirectory en IStorageFolderHandleAccess retourne null.

Attributs

Exceptions

rootDirectory a la valeur null.

-ou-

relativePath a la valeur null.

S’applique à