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
- Наследование
- Атрибуты
- Реализации
Требования к 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) |
Удаляет указанный элемент хранилища из списка доступа. |