Compartilhar via


StorageFolder.CreateItemQuery Método

Definição

Obtém um objeto de resultado de consulta que contém os arquivos e subpastas na pasta atual.

public:
 virtual StorageItemQueryResult ^ CreateItemQuery() = CreateItemQuery;
StorageItemQueryResult CreateItemQuery();
public StorageItemQueryResult CreateItemQuery();
function createItemQuery()
Public Function CreateItemQuery () As StorageItemQueryResult

Retornos

Um objeto de resultado da consulta. Chame o método GetItemsAsync do resultado da consulta para obter os arquivos e subpastas na pasta atual. Esse método retorna uma lista do tipo IReadOnlyList<IStorageItem>. Cada arquivo ou pasta é representado por um item do tipo IStorageItem.

Para trabalhar com os itens retornados, chame o método IsOfType da interface IStorageItem para determinar se cada item é um arquivo ou uma pasta. Em seguida, converta o item em storageFolder ou StorageFile.

Implementações

Exceções

Você não tem permissão para acessar o conteúdo da pasta atual.

Exemplos

O exemplo a seguir mostra como obter os arquivos e subpastas na pasta atual chamando o método CreateItemQuery().

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

// Get the app's installation folder.
StorageFolder appFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;

// Get the items in the current folder.
StorageItemQueryResult itemsInFolder = appFolder.CreateItemQuery();

// Iterate over the results and print the list of items
// to the Visual Studio Output window.
foreach (IStorageItem item in await itemsInFolder.GetItemsAsync())
{
    if(item.IsOfType(StorageItemTypes.Folder))
        Debug.WriteLine("Folder: " + item.Name);
    else
        Debug.WriteLine("File: " + item.Name + ", " + item.DateCreated);
}
IAsyncAction MainPage::ExampleCoroutineAsync()
{
    // Get the app's installation folder.
    Windows::Storage::StorageFolder appFolder{ Windows::ApplicationModel::Package::Current().InstalledLocation() };

    Windows::Storage::Search::StorageItemQueryResult results{ appFolder.CreateItemQuery() };

    // Get the items in the current folder.
    Windows::Foundation::Collections::IVectorView<Windows::Storage::IStorageItem> itemsInFolder{
        co_await results.GetItemsAsync() };

    // Iterate over the results, and print the list of items to the Visual Studio output window.
    for (IStorageItem const& itemInFolder : itemsInFolder)
    {
        std::wstringstream stringstream;

        if (itemInFolder.IsOfType(Windows::Storage::StorageItemTypes::File))
        {
            stringstream << L"File: ";
        }
        else
        {
            stringstream << L"Folder: ";
        }

        stringstream << itemInFolder.Name().c_str() << std::endl;
        ::OutputDebugString(stringstream.str().c_str());
    }
}
// Get the app's installation folder
StorageFolder^ appFolder = Windows::ApplicationModel::Package::Current->InstalledLocation;

StorageItemQueryResult^ results = appFolder->CreateItemQuery();

// Get the items in the current folder; 
create_task(results->GetItemsAsync()).then([=](IVectorView<IStorageItem^>^ itemsInFolder) {

 //Iterate over the results and print the list of items
    // to the visual studio output window
    for (auto it = itemsInFolder->First(); it->HasCurrent; it->MoveNext())
    {
        IStorageItem^ item = it->Current;
        if (item->IsOfType(StorageItemTypes::File))
        {
            String^ output = "File: " + item->Name + "\n";
            OutputDebugString(output->Begin());
        }
        else
        {
            String^ output = "Folder: " + item->Name + "\n";
            OutputDebugString(output->Begin());
        }        
    }
});

Comentários

Essa consulta é uma consulta superficial que retorna apenas itens na pasta atual. Para obter uma lista de métodos que identifica consultas superficiais e consultas profundas, consulte os Comentários no tópico GetItemsAsync.

Você também pode obter uma lista de itens na pasta atual de forma assíncrona chamando um dos métodos GetItemsAsync .

Para especificar opções de consulta adicionais, chame o método CreateItemQueryWithOptions .

Aplica-se a