Freigeben über


StorageFolder.CreateItemQuery Methode

Definition

Ruft ein Abfrageergebnisobjekt ab, das die Dateien und Unterordner im aktuellen Ordner enthält.

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

Gibt zurück

Ein Abfrageergebnisobjekt. Rufen Sie die GetItemsAsync-Methode des Abfrageergebnisses auf, um die Dateien und Unterordner im aktuellen Ordner abzurufen. Diese Methode gibt eine Liste vom Typ IReadOnlyList<IStorageItem> zurück. Jede Datei oder jeder Ordner wird durch ein Element vom Typ IStorageItem dargestellt.

Um mit den zurückgegebenen Elementen zu arbeiten, rufen Sie die IsOfType-Methode der IStorageItem-Schnittstelle auf, um zu bestimmen, ob es sich bei jedem Element um eine Datei oder einen Ordner handelt. Wandeln Sie das Element dann in einen StorageFolder oder StorageFile um.

Implementiert

Ausnahmen

Sie verfügen nicht über die Berechtigung, auf den Inhalt des aktuellen Ordners zuzugreifen.

Beispiele

Das folgende Beispiel zeigt, wie Sie die Dateien und Unterordner im aktuellen Ordner abrufen, indem Sie die CreateItemQuery()-Methode aufrufen.

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());
        }        
    }
});

Hinweise

Diese Abfrage ist eine flache Abfrage, die nur Elemente im aktuellen Ordner zurückgibt. Eine Liste der Methoden, die flache Abfragen und tiefe Abfragen identifizieren, finden Sie in den Anmerkungen im Thema GetItemsAsync.

Sie können auch eine Liste der Elemente im aktuellen Ordner asynchron abrufen, indem Sie eine der GetItemsAsync-Methoden aufrufen.

Um zusätzliche Abfrageoptionen anzugeben, rufen Sie die CreateItemQueryWithOptions-Methode auf.

Gilt für: