Partager via


StorageFolder.CreateItemQuery Méthode

Définition

Obtient un objet de résultat de requête qui contient les fichiers et sous-dossiers dans le dossier actif.

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

Retours

Objet de résultat de requête. Appelez la méthode GetItemsAsync du résultat de la requête pour obtenir les fichiers et sous-dossiers dans le dossier actif. Cette méthode retourne une liste de type IReadOnlyList<IStorageItem>. Chaque fichier ou dossier est représenté par un élément de type IStorageItem.

Pour utiliser les éléments retournés, appelez la méthode IsOfType de l’interface IStorageItem pour déterminer si chaque élément est un fichier ou un dossier. Ensuite, castez l’élément en un StorageFolder ou StorageFile.

Implémente

Exceptions

Vous n’avez pas l’autorisation d’accéder au contenu du dossier actif.

Exemples

L’exemple suivant montre comment obtenir les fichiers et sous-dossiers du dossier actif en appelant la méthode 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());
        }        
    }
});

Remarques

Cette requête est une requête superficielle qui retourne uniquement les éléments du dossier actif. Pour obtenir la liste des méthodes qui identifient les requêtes superficielles et les requêtes approfondies, consultez les remarques de la rubrique GetItemsAsync.

Vous pouvez également obtenir une liste d’éléments dans le dossier actif de manière asynchrone en appelant l’une des méthodes GetItemsAsync .

Pour spécifier des options de requête supplémentaires, appelez la méthode CreateItemQueryWithOptions .

S’applique à