StorageFolder.GetFoldersAsync メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
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 2014
August 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 以外の値を指定します。 - または - 任意のフォルダーに対して、QueryOptions の FolderDepth プロパティの値として Deep を指定します。 |
こちらもご覧ください
- GetFoldersAsync(CommonFolderQuery, UInt32, UInt32)
- GetFoldersAsync(CommonFolderQuery)
- ファイル アクセス許可
- GetItemsAsync
適用対象
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 オブジェクトによって表されます。
実装
- 属性
例外
現在のフォルダーの内容にアクセスするためのアクセス許可がありません。 詳細については、「 ファイル アクセス許可」を参照してください。