StorageFolder.GetFoldersAsync メソッド

定義

オーバーロード

GetFoldersAsync()

現在のフォルダー内のサブフォルダーを取得します。

GetFoldersAsync(CommonFolderQuery)

現在のフォルダー内のサブフォルダーを取得します。 クエリ引数の値が CommonFolderQuery.DefaultQuery 以外の場合は、現在のフォルダーのサブフォルダー内のファイルグループのコンテナーを表す仮想フォルダーの一覧を取得します。 ファイルは、 CommonFolderQuery 列挙体の指定された値に基づいてフォルダーにグループ化されます。

GetFoldersAsync(CommonFolderQuery, UInt32, UInt32)

現在のフォルダー内のすべてのサブフォルダーの一覧から、インデックスベースのフォルダー範囲を取得します。 クエリ引数の値が CommonFolderQuery.DefaultQuery 以外の場合は、現在のフォルダーのサブフォルダー内のファイルグループのコンテナーを表す仮想フォルダーの一覧を取得します。 ファイルは、 CommonFolderQuery 列挙体の指定された値に基づいてフォルダーにグループ化されます。

GetFoldersAsync()

現在のフォルダー内のサブフォルダーを取得します。

public:
 virtual IAsyncOperation<IVectorView<StorageFolder ^> ^> ^ GetFoldersAsync() = GetFoldersAsync;
/// [Windows.Foundation.Metadata.Overload("GetFoldersAsyncOverloadDefaultOptionsStartAndCount")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<IVectorView<StorageFolder>> GetFoldersAsync();
[Windows.Foundation.Metadata.Overload("GetFoldersAsyncOverloadDefaultOptionsStartAndCount")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<IReadOnlyList<StorageFolder>> GetFoldersAsync();
function getFoldersAsync()
Public Function GetFoldersAsync () As IAsyncOperation(Of IReadOnlyList(Of StorageFolder))

戻り値

このメソッドが正常に完了すると、現在のフォルダー内のサブフォルダーの一覧が返されます。 リストの種類は IReadOnlyList<StorageFolder です>。 リスト内の各フォルダーは、 StorageFolder オブジェクトによって表されます。

実装

属性

例外

現在のフォルダーの内容にアクセスするためのアクセス許可がありません。 詳細については、「 ファイル アクセス許可」を参照してください。

次の例では、 GetFoldersAsync(CommonFolderQuery, UInt32, UInt32) メソッドを呼び出して、ユーザーの Pictures フォルダー内のサブフォルダーの内容を月別にグループ化して取得する方法を示します。 (現在のフォルダーのルートからのファイルは含まれません。次の使用例は、インデックス 0 のフォルダーから始まる最大 4 つのフォルダーを返します。 CommonFolderQuery.GroupByMonth オプションは日付を降順 (つまり、最新から最も古いもの) で並べ替えるため、この例では、ユーザーが写真を持っている 4 か月のフォルダーを返します。 各フォルダーには、その月のすべてのユーザーの写真が含まれています。

次の例を実行する前に、アプリ マニフェスト ファイルで Pictures Library 機能を有効にします。

using Windows.Storage;
using Windows.Storage.Search;
using System.Threading.Tasks;
using System.Diagnostics; // For writing results to 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. Get only the first 4 folders (months).
IReadOnlyList <StorageFolder> groupedItems = await picturesFolder.GetFoldersAsync(CommonFolderQuery.GroupByMonth, 0, 4);

// Iterate over the results and print the list of folders
// and files to the Visual Studio Output window.
foreach (StorageFolder folder in groupedItems)
{
    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, grouped by month.
    // Get only the first 4 folders (months).
    Windows::Foundation::Collections::IVectorView<Windows::Storage::StorageFolder> itemsInFolder{
        co_await picturesFolder.GetFoldersAsync(Windows::Storage::Search::CommonFolderQuery::GroupByMonth, 0, 4) };

    // 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 the user's Pictures folder.
// Enable the corresponding capability in the app manifest file.
StorageFolder^ picturesFolder = KnownFolders::PicturesLibrary;

// Get the files in the user's Pictures folder, grouped by month.
// Get only the first 4 folders (months).
create_task(picturesFolder->GetFoldersAsync(CommonFolderQuery::GroupByMonth, 0, 4)).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());
 }
});

注釈

このクエリは、現在のフォルダー内のサブフォルダーのみを返すシャロー クエリです。

次の表に、サブフォルダーの一覧を取得する StorageFolder クラスのメソッドを示します。 このテーブルは、現在のフォルダーからサブフォルダーのみを返すシャロー クエリと、入れ子になったサブフォルダーの内容を返すディープ クエリを仮想フォルダーにグループ化して識別します。

一部のメソッドは、 CommonFolderQuery 列挙から値を受け取ります。

  • 任意のフォルダーで DefaultQuery オプションを使用すると、クエリはファイル システム内のサブフォルダーの一覧を返します。
  • DefaultQuery 以外のオプションをライブラリ フォルダーと共に使用すると、クエリは、現在のフォルダーのサブフォルダーのファイルのコンテナーを表す仮想フォルダーの一覧を返します。 (現在のフォルダーのファイルは含まれません。ファイルは、 CommonFolderQuery 列挙体の指定された値に基づいて仮想フォルダーにグループ化されます。 たとえば、GroupByMonth を指定した場合、クエリは、 などのJuly 2014August 2014仮想フォルダーの一覧をSeptember 2014返します。

ヒント

DefaultQuery オプションは、任意のフォルダーで使用できます。CommonFolderQuery 列挙の他のオプションは、画像ライブラリやホームグループ フォルダーなどのライブラリ フォルダーでのみ使用できます。

ライブラリ フォルダーではないフォルダーから詳細なクエリ結果を取得するには、CreateFolderQueryWithOptions(QueryOptions) メソッドを呼び出し、QueryOptions オブジェクトの FolderDepth プロパティの値として Deep を指定します。

メソッド 現在のフォルダーからサブフォルダーのみを返すシャロー クエリを作成する 入れ子になったサブフォルダーをすべて返すディープ クエリを作成する
GetFoldersAsync() このメソッドの既定の動作。 該当なし
GetFoldersAsync(CommonFileQuery) DefaultQuery オプションを指定します。 ライブラリ フォルダーの場合は、 DefaultQuery 以外のオプションを指定します。
GetFoldersAsync(CommonFileQuery, UInt32, UInt32) DefaultQuery オプションを指定します。 ライブラリ フォルダーの場合は、 DefaultQuery 以外のオプションを指定します。
CreateFolderQuery() このメソッドの既定の動作。 該当なし
CreateFolderQuery(CommonFileQuery) DefaultQuery オプションを指定します。 ライブラリ フォルダーの場合は、 DefaultQuery 以外のオプションを指定します。
CreateFolderQueryWithOptions(QueryOptions) 次のオプションが指定されていない場合の、このメソッドの既定の動作。
- または -
QueryOptions オブジェクトをインスタンス化するときに、CommonFolderQuery の値として DefaultQuery を指定します。
- または -
QueryOptions オブジェクトの FolderDepth プロパティの値として、Shallow を指定します。
ライブラリ フォルダーの場合、QueryOptions オブジェクトをインスタンス化するときに、CommonFolderQuery の値として DefaultQuery 以外の値を指定します。
- または -
任意のフォルダーに対して、QueryOptionsFolderDepth プロパティの値として Deep を指定します。

こちらもご覧ください

適用対象

GetFoldersAsync(CommonFolderQuery)

現在のフォルダー内のサブフォルダーを取得します。 クエリ引数の値が CommonFolderQuery.DefaultQuery 以外の場合は、現在のフォルダーのサブフォルダー内のファイルグループのコンテナーを表す仮想フォルダーの一覧を取得します。 ファイルは、 CommonFolderQuery 列挙体の指定された値に基づいてフォルダーにグループ化されます。

public:
 virtual IAsyncOperation<IVectorView<StorageFolder ^> ^> ^ GetFoldersAsync(CommonFolderQuery query) = GetFoldersAsync;
/// [Windows.Foundation.Metadata.Overload("GetFoldersAsyncOverloadDefaultStartAndCount")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<IVectorView<StorageFolder>> GetFoldersAsync(CommonFolderQuery const& query);
[Windows.Foundation.Metadata.Overload("GetFoldersAsyncOverloadDefaultStartAndCount")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<IReadOnlyList<StorageFolder>> GetFoldersAsync(CommonFolderQuery query);
function getFoldersAsync(query)
Public Function GetFoldersAsync (query As CommonFolderQuery) As IAsyncOperation(Of IReadOnlyList(Of StorageFolder))

パラメーター

query
CommonFolderQuery

ファイルをフォルダーにグループ化する方法を指定し、クエリが浅いか深いかを決定する列挙値の 1 つ。

戻り値

このメソッドが正常に完了すると、サブフォルダーの一覧が返されます。 クエリ引数の値が CommonFolderQuery.DefaultQuery 以外の値である場合、このメソッドは、現在のフォルダーのサブフォルダー内のファイルグループのコンテナーを表す仮想フォルダーの一覧を返します。 (現在のフォルダーのファイルは含まれません。ファイルは 、クエリで指定されたとおりにグループ化されます。 リストの種類は IReadOnlyList<StorageFolder です>。 リスト内の各フォルダーは、 StorageFolder オブジェクトによって表されます。

実装

属性

例外

現在のフォルダーの内容にアクセスするためのアクセス許可がありません。 詳細については、「 ファイル アクセス許可」を参照してください。

こちらもご覧ください

適用対象

GetFoldersAsync(CommonFolderQuery, UInt32, UInt32)

現在のフォルダー内のすべてのサブフォルダーの一覧から、インデックスベースのフォルダー範囲を取得します。 クエリ引数の値が CommonFolderQuery.DefaultQuery 以外の場合は、現在のフォルダーのサブフォルダー内のファイルグループのコンテナーを表す仮想フォルダーの一覧を取得します。 ファイルは、 CommonFolderQuery 列挙体の指定された値に基づいてフォルダーにグループ化されます。

public:
 virtual IAsyncOperation<IVectorView<StorageFolder ^> ^> ^ GetFoldersAsync(CommonFolderQuery query, unsigned int startIndex, unsigned int maxItemsToRetrieve) = GetFoldersAsync;
/// [Windows.Foundation.Metadata.Overload("GetFoldersAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<IVectorView<StorageFolder>> GetFoldersAsync(CommonFolderQuery const& query, uint32_t const& startIndex, uint32_t const& maxItemsToRetrieve);
[Windows.Foundation.Metadata.Overload("GetFoldersAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<IReadOnlyList<StorageFolder>> GetFoldersAsync(CommonFolderQuery query, uint startIndex, uint maxItemsToRetrieve);
function getFoldersAsync(query, startIndex, maxItemsToRetrieve)
Public Function GetFoldersAsync (query As CommonFolderQuery, startIndex As UInteger, maxItemsToRetrieve As UInteger) As IAsyncOperation(Of IReadOnlyList(Of StorageFolder))

パラメーター

query
CommonFolderQuery

ファイルをフォルダーにグループ化する方法を指定し、クエリが浅いか深いかを決定する列挙値の 1 つ。

startIndex
UInt32

unsigned int

uint32_t

取得する範囲内の最初のフォルダーの 0 から始まるインデックス。

maxItemsToRetrieve
UInt32

unsigned int

uint32_t

取得するフォルダーの最大数。

戻り値

このメソッドが正常に完了すると、サブフォルダーの一覧が返されます。 クエリ引数の値が CommonFolderQuery.DefaultQuery 以外の値である場合、このメソッドは、現在のフォルダーのサブフォルダー内のファイルグループのコンテナーを表す仮想フォルダーの一覧を返します。 (現在のフォルダーのファイルは含まれません。ファイルは 、クエリで指定されたとおりにグループ化されます。 リストの種類は IReadOnlyList<StorageFolder です>。 リスト内の各フォルダーは、 StorageFolder オブジェクトによって表されます。

実装

M:Windows.Storage.Search.IStorageFolderQueryOperations.GetFoldersAsync(Windows.Storage.Search.CommonFolderQuery,System.UInt32,System.UInt32) M:Windows.Storage.Search.IStorageFolderQueryOperations.GetFoldersAsync(Windows.Storage.Search.CommonFolderQuery,unsigned int,unsigned int) M:Windows.Storage.Search.IStorageFolderQueryOperations.GetFoldersAsync(Windows.Storage.Search.CommonFolderQuery,uint32_t,uint32_t)
属性

例外

現在のフォルダーの内容にアクセスするためのアクセス許可がありません。 詳細については、「 ファイル アクセス許可」を参照してください。

こちらもご覧ください

適用対象