StorageFolder.GetFoldersAsync 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.
Surcharges
GetFoldersAsync() |
Obtient les sous-dossiers dans le dossier actif. |
GetFoldersAsync(CommonFolderQuery) |
Obtient les sous-dossiers dans le dossier actif. Lorsque la valeur de l’argument de requête est autre que CommonFolderQuery.DefaultQuery, obtient une liste de dossiers virtuels qui représentent des conteneurs pour les groupes de fichiers dans les sous-dossiers du dossier actif. Les fichiers sont regroupés dans des dossiers en fonction de la valeur spécifiée de l’énumération CommonFolderQuery . |
GetFoldersAsync(CommonFolderQuery, UInt32, UInt32) |
Obtient une plage de dossiers basée sur un index à partir de la liste de tous les sous-dossiers du dossier actif. Lorsque la valeur de l’argument de requête est autre que CommonFolderQuery.DefaultQuery, obtient une liste de dossiers virtuels qui représentent des conteneurs pour les groupes de fichiers dans les sous-dossiers du dossier actif. Les fichiers sont regroupés dans des dossiers en fonction de la valeur spécifiée de l’énumération CommonFolderQuery . |
GetFoldersAsync()
Obtient les sous-dossiers dans le dossier actif.
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))
Retours
Une fois cette méthode terminée, elle retourne une liste des sous-dossiers dans le dossier actif. La liste est de type IReadOnlyList<StorageFolder>. Chaque dossier de la liste est représenté par un objet StorageFolder .
Implémente
- Attributs
Exceptions
Vous n’avez pas l’autorisation d’accéder au contenu du dossier actif. Pour plus d’informations, consultez Autorisations d’accès aux fichiers.
Exemples
L’exemple suivant montre comment obtenir le contenu des sous-dossiers du dossier Images de l’utilisateur, regroupés par mois, en appelant la méthode GetFoldersAsync(CommonFolderQuery, UInt32, UInt32). (Les fichiers de la racine du dossier actif ne sont pas inclus.) Cet exemple retourne un maximum de 4 dossiers, en commençant par le dossier à l’index 0. Étant donné que l’option CommonFolderQuery.GroupByMonth trie les dates dans l’ordre décroissant (c’est-à-dire, du plus récent au plus ancien), cet exemple retourne des dossiers pour les 4 derniers mois pour lesquels l’utilisateur a des photos. Chaque dossier contient toutes les photos de l’utilisateur de ce mois.
Avant d’exécuter l’exemple suivant, activez la fonctionnalité Bibliothèque d’images dans le fichier manifeste de l’application.
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());
}
});
Remarques
Cette requête est une requête superficielle qui retourne uniquement des sous-dossiers dans le dossier actif.
Le tableau suivant répertorie les méthodes de la classe StorageFolder qui obtiennent une liste de sous-dossiers. Le tableau identifie les requêtes superficielles qui retournent uniquement les sous-dossiers du dossier actif, et les requêtes approfondies qui retournent le contenu des sous-dossiers imbriqués, regroupés dans des dossiers virtuels.
Certaines méthodes prennent une valeur de l’énumération CommonFolderQuery .
- Lorsque vous utilisez l’option DefaultQuery avec n’importe quel dossier, la requête retourne une liste de sous-dossiers dans le système de fichiers.
- Lorsque vous utilisez une option autre que DefaultQuery avec un dossier de bibliothèque, la requête retourne une liste de dossiers virtuels qui représentent des conteneurs pour les fichiers des sous-dossiers du dossier actif. (Les fichiers du dossier actif ne sont pas inclus.) Les fichiers sont regroupés dans des dossiers virtuels en fonction de la valeur spécifiée de l’énumération CommonFolderQuery . Par exemple, si vous spécifiez GroupByMonth, la requête retourne une liste de dossiers virtuels tels que
July 2014
,August 2014
etSeptember 2014
.
Conseil
Vous pouvez utiliser l’option DefaultQuery avec n’importe quel dossier ; vous pouvez utiliser les autres options de l’énumération CommonFolderQuery uniquement avec des dossiers de bibliothèque, tels que la bibliothèque Images ou le dossier Du groupe résidentiel.
Pour obtenir des résultats de requête approfondie à partir d’un dossier qui n’est pas un dossier de bibliothèque, appelez la méthode CreateFolderQueryWithOptions(QueryOptions) et spécifiez Deep comme valeur de la propriété FolderDepth de l’objet QueryOptions .
Méthode | Créer une requête superficielle qui retourne uniquement des sous-dossiers du dossier actif | Créer une requête approfondie qui retourne tous les sous-dossiers imbriqués |
---|---|---|
GetFoldersAsync() | Comportement par défaut de cette méthode. | N/A |
GetFoldersAsync(CommonFileQuery) | Spécifiez l’option DefaultQuery . | Pour un dossier de bibliothèque, spécifiez une option autre que DefaultQuery. |
GetFoldersAsync(CommonFileQuery, UInt32, UInt32) | Spécifiez l’option DefaultQuery . | Pour un dossier de bibliothèque, spécifiez une option autre que DefaultQuery. |
CreateFolderQuery() | Comportement par défaut de cette méthode. | N/A |
CreateFolderQuery(CommonFileQuery) | Spécifiez l’option DefaultQuery . | Pour un dossier de bibliothèque, spécifiez une option autre que DefaultQuery. |
CreateFolderQueryWithOptions(QueryOptions) | Comportement par défaut de cette méthode si aucune des options suivantes n’est spécifiée. - ou - Spécifiez DefaultQuery comme valeur de CommonFolderQuery lorsque vous instanciez l’objet QueryOptions . - ou - Spécifiez Shallow comme valeur de la propriété FolderDepth de l’objet QueryOptions . |
Pour un dossier de bibliothèque, spécifiez une valeur autre que DefaultQuery comme valeur de CommonFolderQuery lorsque vous instanciez l’objet QueryOptions . - ou - Pour n’importe quel dossier, spécifiez Deep comme valeur de la propriété FolderDepth de QueryOptions. |
Voir aussi
- GetFoldersAsync(CommonFolderQuery, UInt32, UInt32)
- GetFoldersAsync(CommonFolderQuery)
- Autorisations d’accès aux fichiers
- GetItemsAsync
S’applique à
GetFoldersAsync(CommonFolderQuery)
Obtient les sous-dossiers dans le dossier actif. Lorsque la valeur de l’argument de requête est autre que CommonFolderQuery.DefaultQuery, obtient une liste de dossiers virtuels qui représentent des conteneurs pour les groupes de fichiers dans les sous-dossiers du dossier actif. Les fichiers sont regroupés dans des dossiers en fonction de la valeur spécifiée de l’énumération 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))
Paramètres
- query
- CommonFolderQuery
Une des valeurs d’énumération qui spécifie comment regrouper les fichiers dans des dossiers et détermine si la requête est superficielle ou profonde.
Retours
Une fois cette méthode terminée, elle retourne une liste de sous-dossiers. Lorsque la valeur de l’argument de requête est autre que CommonFolderQuery.DefaultQuery, cette méthode retourne une liste de dossiers virtuels qui représentent des conteneurs pour les groupes de fichiers dans les sous-dossiers du dossier actif. (Les fichiers du dossier actif ne sont pas inclus.) Les fichiers sont regroupés comme spécifié par requête. La liste est de type IReadOnlyList<StorageFolder>. Chaque dossier de la liste est représenté par un objet StorageFolder .
Implémente
- Attributs
Exceptions
Vous n’avez pas l’autorisation d’accéder au contenu du dossier actif. Pour plus d’informations, consultez Autorisations d’accès aux fichiers.
Voir aussi
- GetFoldersAsync(CommonFolderQuery, UInt32, UInt32)
- GetFoldersAsync()
- Autorisations d’accès aux fichiers
- GetItemsAsync
S’applique à
GetFoldersAsync(CommonFolderQuery, UInt32, UInt32)
Obtient une plage de dossiers basée sur un index à partir de la liste de tous les sous-dossiers du dossier actif. Lorsque la valeur de l’argument de requête est autre que CommonFolderQuery.DefaultQuery, obtient une liste de dossiers virtuels qui représentent des conteneurs pour les groupes de fichiers dans les sous-dossiers du dossier actif. Les fichiers sont regroupés dans des dossiers en fonction de la valeur spécifiée de l’énumération 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))
Paramètres
- query
- CommonFolderQuery
Une des valeurs d’énumération qui spécifie comment regrouper les fichiers dans des dossiers et détermine si la requête est superficielle ou profonde.
- startIndex
-
UInt32
unsigned int
uint32_t
Index de base zéro du premier dossier de la plage à récupérer.
- maxItemsToRetrieve
-
UInt32
unsigned int
uint32_t
Nombre maximal de dossiers à récupérer.
Retours
Une fois cette méthode terminée, elle retourne une liste de sous-dossiers. Lorsque la valeur de l’argument de requête est autre que CommonFolderQuery.DefaultQuery, cette méthode retourne une liste de dossiers virtuels qui représentent des conteneurs pour les groupes de fichiers dans les sous-dossiers du dossier actif. (Les fichiers du dossier actif ne sont pas inclus.) Les fichiers sont regroupés comme spécifié par requête. La liste est de type IReadOnlyList<StorageFolder>. Chaque dossier de la liste est représenté par un objet StorageFolder .
Implémente
- Attributs
Exceptions
Vous n’avez pas l’autorisation d’accéder au contenu du dossier actif. Pour plus d’informations, consultez Autorisations d’accès aux fichiers.
Voir aussi
- GetFoldersAsync(CommonFolderQuery)
- GetFoldersAsync()
- Autorisations d’accès aux fichiers
- GetItemsAsync