StorageFolder.CreateFolderQuery Метод

Определение

Перегрузки

CreateFolderQuery()

Возвращает объект результата запроса, содержащий вложенные папки в текущей папке.

CreateFolderQuery(CommonFolderQuery)

Возвращает объект результата запроса, содержащий вложенные папки в текущей папке. Если значение аргумента запроса отличается от CommonFolderQuery.DefaultQuery, возвращает список виртуальных папок, представляющих контейнеры для групп файлов во вложенных папках текущей папки. Файлы группируются в папки на основе указанного значения перечисления CommonFolderQuery .

CreateFolderQuery()

Возвращает объект результата запроса, содержащий вложенные папки в текущей папке.

public:
 virtual StorageFolderQueryResult ^ CreateFolderQuery() = CreateFolderQuery;
/// [Windows.Foundation.Metadata.Overload("CreateFolderQueryOverloadDefault")]
StorageFolderQueryResult CreateFolderQuery();
[Windows.Foundation.Metadata.Overload("CreateFolderQueryOverloadDefault")]
public StorageFolderQueryResult CreateFolderQuery();
function createFolderQuery()
Public Function CreateFolderQuery () As StorageFolderQueryResult

Возвращаемое значение

Объект результата запроса. Вызовите метод GetFoldersAsync результата запроса, чтобы получить вложенные папки в текущей папке. Этот метод возвращает список типа IReadOnlyList<StorageFolder>. Каждый файл или папка представлен элементом типа StorageFolder.

Реализации

Атрибуты

Исключения

У вас нет разрешения на доступ к содержимому текущей папки.

Примеры

В следующем примере показано, как получить содержимое вложенных папок в папке "Изображения" пользователя, сгруппированных по папкам по месяцам, путем вызова перегруженного метода GetFoldersAsync(CommonFolderQuery). (Файлы из корня текущей папки не включаются.)

Перед выполнением следующего примера включите возможность библиотеки изображений в файле манифеста приложения.

using Windows.Storage;
using Windows.Storage.Search;
using System.Threading.Tasks;
using System.Diagnostics; // For writing results to the Output window.

// Get the user's Pictures folder.
// Enable the corresponding capability in the app manifest file.
StorageFolder picturesFolder = KnownFolders.PicturesLibrary;

// Get the files in the subfolders of the
// user's Pictures folder, grouped by month.
StorageFolderQueryResult groupedItems =
    picturesFolder.CreateFolderQuery(CommonFolderQuery.GroupByMonth);

// Iterate over the results and print the list of folders
// and files to the Visual Studio Output window.
foreach (StorageFolder folder in await groupedItems.GetFoldersAsync())
{
    Debug.WriteLine(folder.Name);

// To iterate over the files in each folder,
// uncomment the following lines.
// foreach(StorageFile file in await folder.GetFilesAsync())
//    Debug.WriteLine(" " + file.Name);
}
IAsyncAction MainPage::ExampleCoroutineAsync()
{
    // Get the users's Pictures folder.
    // Enable the Pictures Library capability in the app manifest file.
    Windows::Storage::StorageFolder picturesFolder{ Windows::Storage::KnownFolders::PicturesLibrary() };

    // Get the files in the user's Pictures folder, and group them by month.
    Windows::Storage::Search::StorageFolderQueryResult results{ picturesFolder.CreateFolderQuery(Windows::Storage::Search::CommonFolderQuery::GroupByMonth) };

    Windows::Foundation::Collections::IVectorView<Windows::Storage::StorageFolder> itemsInFolder{
        co_await results.GetFoldersAsync() };

    // Iterate over the results, and print the list of file groups to the Visual Studio output window.
    for (StorageFolder const& itemInFolder : itemsInFolder)
    {
        std::wstring output{ itemInFolder.Name() };
        ::OutputDebugString(output.c_str());
    }
}
// Get user's pictures folder
StorageFolder^ picturesFolder = KnownFolders::PicturesLibrary;

// Get the files in the user's Pictures folder and group them by month
StorageFolderQueryResult^ itemsInFolder = picturesFolder->CreateFolderQuery(CommonFolderQuery::GroupByMonth);

create_task(itemsInFolder->GetFoldersAsync()).then([=](IVectorView<StorageFolder^>^ itemsInFolder) {
 //Iterate over the results and print the list of file groups
 // to the visual studio output window
 for (auto it = itemsInFolder->First(); it->HasCurrent; it->MoveNext())
 {
  StorageFolder^ file = it->Current;
  String^ output = file->Name + "\n";
  OutputDebugString(output->Begin());
 }
});

Комментарии

Этот запрос является неглубоким запросом, который возвращает только вложенные папки в текущей папке. Список методов, определяющих неглубокие и глубокие запросы, см. в разделе Примечания в методе GetFoldersAsync .

Чтобы указать дополнительные параметры запроса, вызовите метод CreateFolderQueryWithOptions .

Чтобы получить элементы, которые являются файлами или папками, вызовите метод CreateItemQuery .

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

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

CreateFolderQuery(CommonFolderQuery)

Возвращает объект результата запроса, содержащий вложенные папки в текущей папке. Если значение аргумента запроса отличается от CommonFolderQuery.DefaultQuery, возвращает список виртуальных папок, представляющих контейнеры для групп файлов во вложенных папках текущей папки. Файлы группируются в папки на основе указанного значения перечисления CommonFolderQuery .

public:
 virtual StorageFolderQueryResult ^ CreateFolderQuery(CommonFolderQuery query) = CreateFolderQuery;
/// [Windows.Foundation.Metadata.Overload("CreateFolderQuery")]
StorageFolderQueryResult CreateFolderQuery(CommonFolderQuery const& query);
[Windows.Foundation.Metadata.Overload("CreateFolderQuery")]
public StorageFolderQueryResult CreateFolderQuery(CommonFolderQuery query);
function createFolderQuery(query)
Public Function CreateFolderQuery (query As CommonFolderQuery) As StorageFolderQueryResult

Параметры

query
CommonFolderQuery

Одно из значений перечисления, которое указывает, как группировать файлы в папки и определяет, является ли запрос неглубоким или глубоким.

Возвращаемое значение

Объект результата запроса. Вызовите метод GetFoldersAsync результата запроса, чтобы получить вложенные папки в текущей папке. Если значение аргумента запроса отличается от CommonFolderQuery.DefaultQuery, объект результата запроса содержит список виртуальных папок, представляющих контейнеры для групп файлов во вложенных папках текущей папки. (Файлы из текущей папки не включаются.) Файлы группируются в соответствии с запросом. Список имеет тип IReadOnlyList<StorageFolder>. Каждая папка в списке представлена объектом StorageFolder .

Реализации

Атрибуты

Исключения

У вас нет разрешения на доступ к содержимому текущей папки.

Вы указали значение, отличное от DefaultQuery , из <перечисления xref:Windows.Storage.Search.CommonFolderQuery?text=CommonFolderQuery> для папки, которая не является папкой библиотеки. Проверьте значение запроса.

Комментарии

CommonFolderQuery быстро и легко группируют содержимое вложенных папок в папки на основе определенных атрибутов файла (например, исполнителя или альбома). Дополнительные сведения об указании параметров DefaultQuery см. в примечаниях на странице метода CreateFileQuery.

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

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