WindowsRuntimeStorageExtensions.CreateSafeFileHandle 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 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
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
S’applique à
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour