StorageItemAccessList 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
代表從靜態 StorageApplicationPermissions.FutureAccessList 屬性取得 (應用程式的未來存取清單) 。 您的使用者會挑選檔案和資料夾,以授權您的 app 存取原本可能無法存取的項目。 如果您將這些項目新增到未來存取清單,則可以保留該權限,讓您的 app 稍後再次存取這些項目。 專案會以 StorageFile 和 StorageFolder 物件的形式儲存在未來的存取清單中。
public ref class StorageItemAccessList sealed : IStorageItemAccessList
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
class StorageItemAccessList final : IStorageItemAccessList
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
public sealed class StorageItemAccessList : IStorageItemAccessList
Public NotInheritable Class StorageItemAccessList
Implements IStorageItemAccessList
- 繼承
- 屬性
- 實作
Windows 需求
裝置系列 |
Windows 10 (已於 10.0.10240.0 引進)
|
API contract |
Windows.Foundation.UniversalApiContract (已於 v1.0 引進)
|
範例
此範例示範如何將專案新增至應用程式的 FutureAccessList 和 MostRecentlyUsedList。
StorageFile file = await savePicker.PickSaveFileAsync();
if (file != null)
{
// Add to MRU with metadata (For example, a string that represents the date)
string mruToken = Windows.Storage.AccessCache.StorageApplicationPermissions.MostRecentlyUsedList.Add(file, "20120716");
// Add to FA without metadata
string faToken = Windows.Storage.AccessCache.StorageApplicationPermissions.FutureAccessList.Add(file);
}
else
{
// The file picker was dismissed with no file selected to save
}
#include <sstream>
#include <winrt/Windows.Storage.h>
#include <winrt/Windows.Storage.AccessCache.h>
#include <winrt/Windows.Storage.Pickers.h>
using namespace winrt;
using namespace Windows::Storage::Pickers;
using namespace Windows::Storage;
...
winrt::fire_and_forget AddToLists()
{
FileSavePicker savePicker;
auto plainTextExtensions{ winrt::single_threaded_vector<winrt::hstring>() };
plainTextExtensions.Append(L".txt");
savePicker.FileTypeChoices().Insert(L"Plain Text", plainTextExtensions);
savePicker.SuggestedFileName(L"New Document");
StorageFile file{ co_await savePicker.PickSaveFileAsync() };
if (file)
{
// Add to MRU with metadata (For example, a string that represents the date)
winrt::hstring mruToken { Windows::Storage::AccessCache::StorageApplicationPermissions::MostRecentlyUsedList().Add(file, L"20120716") };
// Add to FA without metadata
winrt::hstring faToken { Windows::Storage::AccessCache::StorageApplicationPermissions::FutureAccessList().Add(file) };
}
else
{
// The file picker was dismissed with no file selected to save
}
}
建議您儲存 StorageApplicationPermissions.MostRecentlyUsedList.Add 和 StorageApplicationPermissions.FutureAccessList.Add 所傳回的權杖,以便使用這些權杖來擷取您所新增專案的個別清單專案。 在此範例中,我們會分別將權杖儲存在 和 faToken
中 mruToken
,但不會對其執行任何其他動作。
此外, savePicker
此範例中的 變數包含範例所建立的 FileSavePicker 物件。 若要深入瞭解如何使用檔案選擇器,請參閱使用 選擇器開啟檔案和資料夾 ,以及 使用選擇器儲存檔案。
備註
使用此未來存取清單來保留可能未包含在應用程式資訊清單中功能所指定之可存取位置的檔案和位置的存取權。 例如,如果您的應用程式使用檔案選擇器來存取檔案 (或位置) ,建議您在此未來存取清單中儲存從檔案選擇器傳回的 StorageFile 。
此清單最多可儲存 1000 個專案,而且必須由應用程式維護。
若要查看更多程式碼範例,請參閱 檔案選擇器範例 和 檔案存取範例。
若要瞭解如何使用 FutureAccessList 和 MostRecentlyUsedList,請參閱 追蹤最近使用的檔案和資料夾。
若要深入瞭解您的應用程式有權存取的檔案和位置,請參閱 檔案存取權限。
屬性
Entries |
取得物件,用於從存取清單擷取儲存體專案。 |
MaximumItemsAllowed |
取得存取清單可以包含的最大儲存體專案數目。 |
方法
Add(IStorageItem) |
將新的儲存體專案加入至存取清單。 |
Add(IStorageItem, String) |
將新的儲存體專案和隨附的中繼資料新增至存取清單。 |
AddOrReplace(String, IStorageItem) |
將新的儲存專案新增至存取清單,或取代清單中已存在的指定專案。 |
AddOrReplace(String, IStorageItem, String) |
將新的儲存體專案和隨附的中繼資料新增至存取清單,或如果指定的專案已存在於清單中,則會取代指定的專案。 |
CheckAccess(IStorageItem) |
判斷應用程式是否可以存取存取清單中的指定儲存體專案。 |
Clear() |
從存取清單中移除所有儲存體專案。 |
ContainsItem(String) |
判斷存取清單是否包含指定的儲存體專案。 |
GetFileAsync(String) |
從清單中擷取指定的 StorageFile 。 |
GetFileAsync(String, AccessCacheOptions) |
使用指定的選項,從清單中擷取 StorageFile 。 |
GetFolderAsync(String) |
從清單中擷取指定的 StorageFolder 。 |
GetFolderAsync(String, AccessCacheOptions) |
使用指定的選項,從清單中擷取指定的 StorageFolder 。 |
GetItemAsync(String) |
從最近使用的 (MRU) 清單中擷取指定的專案 (,例如檔案或資料夾) 。 |
GetItemAsync(String, AccessCacheOptions) |
使用指定的選項,從清單中擷取指定的專案 (,例如檔案或資料夾) 。 |
Remove(String) |
從存取清單中移除指定的儲存專案。 |