QueryOptions クラス

定義

ストレージ フォルダーの内容を列挙するための検索クエリのパラメーターを指定します。

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
継承
Object Platform::Object IInspectable QueryOptions
属性

Windows の要件

デバイス ファミリ
Windows 10 (10.0.10240.0 で導入)
API contract
Windows.Foundation.UniversalApiContract (v1.0 で導入)

この例では、QueryOptions を使用して、場所内のファイルに対してクエリを実行する方法を示します。

// 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
}

この例では、システム インデックスによってサポートされるファイル クエリを使用して、別のアプリのプロパティ ハンドラー ( Title ドキュメント プロパティなど) に依存する可能性があるプロパティを取得する方法を示します。

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
}

注釈

アクセス権を持ち、 StorageFolder として取得できる任意のフォルダーのファイル クエリを作成できます。

QueryOptions と CreateFileQueryWithOptions を使用して、別のアプリのプロパティ ハンドラーに依存するプロパティを取得できるインデックス付きバックアップ ファイル クエリを作成できます。

コンストラクター

QueryOptions()

ストレージ項目を列挙するための QueryOptions クラスのインスタンスを作成し、次の既定の設定で初期化します。 QueryOptions.FolderDepthFolderDepth.Shallow を取得し 、QueryOptions.IndexerOptionIndexerOption.DoNotUseIndexer を取得します。

上記のオプションを持つ QueryOptions オブジェクトは、場所にあるファイルとフォルダーの浅いフォルダー単位の列挙を提供します。 既定では、フォルダーはファイルの前に列挙され、ファイルとフォルダーの両方が名前でアルファベット順に表示されます。

QueryOptions(CommonFileQuery, IIterable<String>)

ファイルを列挙するための QueryOptions クラスのインスタンスを作成し、指定された CommonFileQuery によって提供される値と、クエリ結果に含めるファイルを決定するオプションのファイルの種類フィルターを使用して初期化します。

QueryOptions(CommonFolderQuery)

サブフォルダーを列挙するための QueryOptions クラスのインスタンスを作成し、指定された CommonFolderQuery に基づく値で初期化します。

プロパティ

ApplicationSearchFilter

キーワードまたはプロパティでファイルをフィルター処理するための、アプリケーション定義の高度なクエリ構文 (AQS) 文字列を取得または設定します。 このプロパティを UserSearchFilter と組み合わせて、クエリの検索フィルターを作成します。

DateStackOption

QueryOptions オブジェクトが日付に基づいて CommonFolderQuery で作成された場合に、ファイルをフォルダーにグループ化するために使用される時間の単位を取得します。 たとえば、 CommonFolderQuery.GroupByYear を使用して QueryOptions オブジェクトを作成する場合、このプロパティの値は DateStackOption.Year になります

FileTypeFilter

検索結果のフィルター処理に使用されるファイル名拡張子の一覧を取得します。 リストが空の場合、結果にはすべてのファイルの種類が含まれます。

FolderDepth

検索クエリでフォルダーの内容の浅いビューを生成するか、すべてのファイルとサブフォルダーの詳細な再帰ビューを生成するかを示します。

GroupPropertyName

QueryOptions オブジェクトが CommonFolderQuery を使用して作成された場合に、クエリ結果のグループ化に使用されるプロパティの名前を取得します。 たとえば、 CommonFolderQuery.GroupByYear を使用して QueryOptions オブジェクトを作成する場合、このプロパティの値は System.ItemDate になります

IndexerOption

システム インデックスまたはファイル システムを使用してクエリ結果を取得するかどうかを指定する値を取得または設定します。 インデクサーは結果をより速く取得できますが、一部のファイルの場所では使用できません。

Language

クエリに関連付けられている言語を識別するインターネット エンジニアリング タスク フォース (IETF) 言語タグ (BCP47 標準) を取得または設定します。 これにより、クエリを個々の検索トークンに分割するためにシステムで使用される言語固有のアルゴリズムが決まります。

SortOrder

クエリ結果でコンテンツ (ファイルやサブフォルダーなど) を並べ替える方法を指定する SortEntry 構造体の一覧を取得します。 この一覧を使用して、クエリ結果の並べ替え方法をカスタマイズします。

StorageProviderIdFilter

ストレージ プロバイダー識別子のフィルターを取得します。

UserSearchFilter

キーワードまたはプロパティでファイルをフィルター処理するためのユーザー定義の高度なクエリ構文 (AQS) 文字列を取得または設定します。 このプロパティは ApplicationSearchFilter と組み合わせて、クエリの検索フィルターを作成します。

メソッド

LoadFromString(String)

SaveToString メソッドによって作成された文字列で指定された検索パラメーターを使用して、QueryOptions クラスの現在のインスタンスを初期化します。

SaveToString()

QueryOptions オブジェクトの値を、LoadFromString を呼び出して QueryOptions オブジェクトの値を初期化するために使用できる文字列に変換します。

SetPropertyPrefetch(PropertyPrefetchOptions, IIterable<String>)

クエリの実行中にクエリ結果セット内のすべての項目に対してシステムが事前に読み込む必要があるプロパティを指定します (大文字と小文字を区別して取得する代わりに)。 多数のプロパティが指定されている場合、クエリの実行に時間がかかる場合がありますが、クエリ結果に対する後続のプロパティの取得は高速になります。

SetThumbnailPrefetch(ThumbnailMode, UInt32, ThumbnailOptions)

アイテムにアクセスしたときにすぐに読み込みを開始するサムネイルの種類とサイズを指定します (ケースバイケースで取得する代わりに)。 これにより、より多くのリソースが使用されますが、クエリ結果のサムネイル取得が高速になります。

適用対象

こちらもご覧ください