Поделиться через


StorageItemAccessList Класс

Определение

Представляет список будущего доступа приложения (полученный из статического свойства StorageApplicationPermissions.FutureAccessList ). Выбирая файлы и папки, пользователь предоставляет вашему приложению разрешение на доступ к элементам, к которым невозможно получить доступ иным способом. Когда вы добавляете эти элементы в список дальнейшего доступа, то сохраняете разрешение на случай, когда приложению понадобится получить доступ к элементам позже. Элементы хранятся в списке будущего доступа как объекты 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
Наследование
Object Platform::Object IInspectable StorageItemAccessList
Атрибуты
Реализации

Требования к 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 , чтобы их можно было использовать для получения соответствующей записи списка для добавленного элемента. В этом примере мы храним токены в mruToken и faToken соответственно, но не делаем с ними никаких действий.

Кроме того, 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)

Удаляет указанный элемент хранилища из списка доступа.

Применяется к

См. также раздел