WindowsRuntimeStorageExtensions.CreateSafeFileHandle Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vytvoří a vrátí odkaz na bezpečný popisovač souboru pro instanci IStorage, která se rozšiřuje.
Přetížení
CreateSafeFileHandle(IStorageFolder, String, FileMode) |
Vytvoří bezpečný popisovač souboru, který je v aktuální instanci složky úložiště. |
CreateSafeFileHandle(IStorageFile, FileAccess, FileShare, FileOptions) |
Vytvoří bezpečný popisovač souboru pro aktuální instanci souboru úložiště. |
CreateSafeFileHandle(IStorageFolder, String, FileMode, FileAccess, FileShare, FileOptions) |
Vytvoří bezpečný popisovač souboru, který je v aktuální instanci složky úložiště. |
Poznámky
V Windows 10 Anniversary Update byla přidána IStorageFolder nová rozhraní, IStorageFile která umožňují vytvořit standardní popisovač souborů Win32: IStorageFolderHandleAccess
a IStorageItemHandleAccess
. Skupina CreateSafeFileHandle
rozšiřujících metod využívá Create
metody těchto rozhraní.
Klíčovou výhodou rozhraní API je přístup ke zprostředkované službě SafeFileHandle
. To je velmi důležité, pokud chcete vytvořit FileStream kolem objektu IStorageItem nebo IStorageFolder při spuštění v AppContaineru. Při spuštění v AppContainer má aplikace velmi omezená přístupová práva k souborům. Věci, jako jsou obrázky a složky dokumentů, vyžadují, aby se nativní popisovač souboru proxioval přes RuntimeBroker.exe
, protože samotný proces aplikace nemá oprávnění k většině souborů. Toto rozhraní API získá popisovač proxied. Pokud přistupujete ke složkám uživatelských dat nebo používáte nástroj pro výběr souborů, mělo by se toto rozhraní API vždy použít k vytvoření FileStream. Použití cesty se v těchto případech často vyvolá AccessViolationException .
CreateSafeFileHandle(IStorageFolder, String, FileMode)
Důležité
Toto rozhraní API neodpovídá specifikaci CLS.
Vytvoří bezpečný popisovač souboru, který je v aktuální instanci složky úložiště.
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
Parametry
- rootDirectory
- IStorageFolder
Aktuální instance složky úložiště.
- relativePath
- String
Název souboru, ke kterému chcete získat popisovač.
- mode
- FileMode
Režim, ve kterém by měl operační systém soubor otevřít.
Návraty
Bezpečná instance popisovače souborů, pokud operace proběhne úspěšně; null
pokud převod parametru rootDirectory
na IStorageFolderHandleAccess vrátí null
.
- Atributy
Výjimky
Poznámky
Pokud je FileMode.Appendpři volání této metody zadaný režim , soubor se otevře s oprávněním FileAccess.Read k přístupu. V ostatních režimech se soubor otevře s oprávněním FileAccess.ReadWrite k přístupu.
Tato metoda navíc otevře soubor s přístupem ke sdílení datových FileShare.Read proudů a s rozšířenými možnostmi FileOptions.None vytváření souborů.
Platí pro
CreateSafeFileHandle(IStorageFile, FileAccess, FileShare, FileOptions)
Důležité
Toto rozhraní API neodpovídá specifikaci CLS.
Vytvoří bezpečný popisovač souboru pro aktuální instanci souboru úložiště.
[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
Parametry
- windowsRuntimeFile
- IStorageFile
Instance souboru úložiště.
- access
- FileAccess
Druh přístupu, který se má použít při otevírání souboru. Výchozí hodnota je ReadWrite.
- share
- FileShare
Druh přístupu ke sdílení datových proudů mohou mít jiné FileStream objekty ke stejnému souboru. Výchozí hodnota je Read.
- options
- FileOptions
Upřesňující možnosti pro vytvoření objektu FileStream Výchozí hodnota je None.
Návraty
Bezpečná instance popisovače souborů, pokud operace proběhne úspěšně; null
pokud převod objektu windowsRuntimeFile
na IStorageItemHandleAccess vrátí null
hodnotu .
- Atributy
Výjimky
windowsRuntimeFile
je null
.
Platí pro
CreateSafeFileHandle(IStorageFolder, String, FileMode, FileAccess, FileShare, FileOptions)
Důležité
Toto rozhraní API neodpovídá specifikaci CLS.
Vytvoří bezpečný popisovač souboru, který je v aktuální instanci složky úložiště.
[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
Parametry
- rootDirectory
- IStorageFolder
Aktuální instance složky úložiště.
- relativePath
- String
Název souboru, ke kterému chcete získat popisovač.
- mode
- FileMode
Režim, ve kterém by měl operační systém soubor otevřít.
- access
- FileAccess
Druh přístupu, který se má použít při otevírání souboru.
- share
- FileShare
Druh přístupu ke sdílení datových proudů mohou mít jiné FileStream objekty ke stejnému souboru. Výchozí hodnota je Read.
- options
- FileOptions
Upřesňující možnosti pro vytvoření objektu FileStream Výchozí hodnota je None.
Návraty
Bezpečná instance popisovače souborů, pokud operace proběhne úspěšně; null
pokud převod parametru rootDirectory
na IStorageFolderHandleAccess vrátí null
.
- Atributy
Výjimky
Platí pro
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro