StorageFolder.CreateItemQuery Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 .