Partager via


QueryOptions Classe

Définition

Spécifie les paramètres d’une requête de recherche pour énumérer le contenu des dossiers de stockage.

public ref class QueryOptions sealed
/// [Windows.Foundation.Metadata.Activatable(Windows.Storage.Search.IQueryOptionsFactory, 65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class QueryOptions final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
/// [Windows.Foundation.Metadata.Activatable(Windows.Storage.Search.IQueryOptionsFactory, 65536, "Windows.Foundation.UniversalApiContract")]
class QueryOptions final
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Storage.Search.IQueryOptionsFactory), 65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class QueryOptions
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Storage.Search.IQueryOptionsFactory), 65536, "Windows.Foundation.UniversalApiContract")]
public sealed class QueryOptions
function QueryOptions(query, fileTypeFilter)
Public NotInheritable Class QueryOptions
Héritage
Object Platform::Object IInspectable QueryOptions
Attributs

Configuration requise pour Windows

Famille d’appareils
Windows 10 (introduit dans 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v1.0)

Exemples

Cet exemple montre comment utiliser QueryOptions pour interroger des fichiers dans un emplacement.

// Set query options with filter and sort order for results
List<string> fileTypeFilter = new List<string>();
fileTypeFilter.Add(".jpg");
fileTypeFilter.Add(".png");
fileTypeFilter.Add(".bmp");
fileTypeFilter.Add(".gif");
var queryOptions = new QueryOptions(CommonFileQuery.OrderByName, fileTypeFilter);

// Create query and retrieve files
var query = KnownFolders.PicturesLibrary.CreateFileQueryWithOptions(queryOptions);
IReadOnlyList<StorageFile> fileList = await query.GetFilesAsync();
// Process results
foreach (StorageFile file in fileList)
{
    // Process file
}

Cet exemple montre comment utiliser une requête de fichier qui est soutenue par l’index système pour récupérer des propriétés qui peuvent s’appuyer sur le gestionnaire de propriétés d’une autre application (comme la propriété Title document).

try
{
    // Create index backed file query and get results
    List<string> fileTypeFilter = new List<string>();
    fileTypeFilter.Add(".png");
    QueryOptions queryOptions = new QueryOptions(Windows.Storage.Search.CommonFileQuery.OrderByName, fileTypeFilter);
    queryOptions.IndexerOption = IndexerOption.OnlyUseIndexer;
    StorageFileQueryResult queryResult = Windows.Storage.KnownFolders.PicturesLibrary.CreateFileQueryWithOptions(queryOptions);
    var files = await queryResult.GetFilesAsync();

    // Process resulting files
    if (files.Count == 0)
    {
        // Perform tasks to handle no files found
    }
    else
    {
        // Access properties for each file
        foreach (StorageFile file in files)
        {
            var documentProperties = await file.Properties.GetDocumentPropertiesAsync();
            // Perform tasks with document properties
            String title = documentProperties.Title;
        }
    }
}
// Handle errors with catch blocks
catch (FileNotFoundException)
{
 // For example, handle a file not found error
}

Remarques

Vous pouvez créer une requête de fichier pour n’importe quel dossier auquel vous avez accès et que vous pouvez obtenir en tant que StorageFolder.

Vous pouvez utiliser QueryOptions et CreateFileQueryWithOptions pour créer une requête de fichier indexé qui vous permet d’obtenir des propriétés qui s’appuient sur le gestionnaire de propriétés d’une autre application.

Constructeurs

QueryOptions()

Crée un instance de la classe QueryOptions pour énumérer les éléments de stockage et l’initialise avec les paramètres par défaut suivants : QueryOptions.FolderDepth obtient FolderDepth.Shallow et QueryOptions.IndexerOption obtient IndexerOption.DoNotUseIndexer.

Un objet QueryOptions avec les options précédentes fournit une énumération peu profonde de dossier par dossier des fichiers et dossiers dans un emplacement. Par défaut, les dossiers sont énumérés avant les fichiers et les fichiers et dossiers sont alphabétiques par nom.

QueryOptions(CommonFileQuery, IIterable<String>)

Crée une instance de la classe QueryOptions pour l’énumération des fichiers et l’initialise avec les valeurs fournies par le CommonFileQuery spécifié et un filtre de type de fichier facultatif qui détermine les fichiers à inclure dans les résultats de la requête.

QueryOptions(CommonFolderQuery)

Crée une instance de la classe QueryOptions pour énumérer les sous-dossiers et l’initialise avec des valeurs basées sur le CommonFolderQuery spécifié.

Propriétés

ApplicationSearchFilter

Obtient ou définit une chaîne AQS (Advanced Query Syntax) définie par l’application pour filtrer les fichiers par mots clés ou propriétés. Cette propriété est combinée à UserSearchFilter pour créer le filtre de recherche de la requête.

DateStackOption

Obtient l’unité de temps utilisée pour regrouper des fichiers dans des dossiers si l’objet QueryOptions a été créé avec un CommonFolderQuery basé sur la date. Par exemple, si CommonFolderQuery.GroupByYear est utilisé pour créer un objet QueryOptions , la valeur de cette propriété est DateStackOption.Year.

FileTypeFilter

Obtient la liste des extensions de nom de fichier utilisées pour filtrer les résultats de la recherche. Si la liste est vide, les résultats incluent tous les types de fichiers.

FolderDepth

Indique si la requête de recherche doit produire une vue superficielle du contenu du dossier ou une vue récursive profonde de tous les fichiers et sous-dossiers.

GroupPropertyName

Obtient le nom de la propriété utilisée pour regrouper les résultats de la requête si l’objet QueryOptions a été créé à l’aide d’un CommonFolderQuery. Par exemple, si CommonFolderQuery.GroupByYear est utilisé pour créer un objet QueryOptions , la valeur de cette propriété est System.ItemDate.

IndexerOption

Obtient ou définit une valeur qui spécifie si l’index système ou le système de fichiers est utilisé pour récupérer les résultats de la requête. L’indexeur peut récupérer les résultats plus rapidement, mais il n’est pas disponible dans tous les emplacements de fichiers.

Language

Obtient ou définit la balise de langue IETF (Internet Engineering Task Force) (BCP47 standard) qui identifie la langue associée à la requête. Cela détermine l’algorithme spécifique au langage utilisé par le système pour diviser la requête en jetons de recherche individuels.

SortOrder

Obtient la liste des structures SortEntry qui spécifient comment trier le contenu (comme les fichiers et sous-dossiers) dans les résultats de la requête. Utilisez cette liste pour personnaliser la façon dont les résultats de la requête sont triés.

StorageProviderIdFilter

Obtient le filtre pour les identificateurs de fournisseur de stockage.

UserSearchFilter

Obtient ou définit une chaîne AQS (Advanced Query Syntax) définie par l’utilisateur pour filtrer les fichiers par mots clés ou propriétés. Cette propriété est combinée avec ApplicationSearchFilter pour créer le filtre de recherche de la requête.

Méthodes

LoadFromString(String)

Initialise le instance actuel de la classe QueryOptions avec les paramètres de recherche spécifiés par une chaîne créée par la méthode SaveToString.

SaveToString()

Convertit les valeurs d’un objet QueryOptions en chaîne qui peut être utilisée pour initialiser les valeurs d’un objet QueryOptions en appelant LoadFromString.

SetPropertyPrefetch(PropertyPrefetchOptions, IIterable<String>)

Spécifie les propriétés que le système doit charger à l’avance pour tous les éléments du jeu de résultats de la requête pendant l’exécution de la requête (au lieu de les récupérer au cas par cas). Si de nombreuses propriétés sont spécifiées, l’exécution de la requête peut prendre plus de temps, mais la récupération ultérieure des propriétés sur les résultats de la requête sera plus rapide.

SetThumbnailPrefetch(ThumbnailMode, UInt32, ThumbnailOptions)

Spécifie le type et la taille des miniatures que le système doit commencer à charger immédiatement lorsque les éléments sont accessibles (au lieu de les récupérer au cas par cas). Cela utilise davantage de ressources, mais accélère la récupération des miniatures sur les résultats de la requête.

S’applique à

Voir aussi