WindowsRuntimeStorageExtensions.CreateSafeFileHandle Metoda

Definice

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

rootDirectory je null.

-nebo-

relativePath je null.

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í nullhodnotu .

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

rootDirectory je null.

-nebo-

relativePath je null.

Platí pro