다음을 통해 공유


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 클래스의 instance 만들고 QueryOptions.FolderDepth가 FolderDepth.ShallowQueryOptions.IndexerOptions 가져오면 IndexerOption.DoNotUseIndexer라는 기본 설정을 사용하여 초기화합니다.

이전 옵션이 있는 QueryOptions 개체는 위치의 파일 및 폴더에 대한 폴더별 단순 열거형을 제공합니다. 기본적으로 폴더는 파일 앞에 열거되고 파일과 폴더는 모두 이름으로 사전순으로 정렬됩니다.

QueryOptions(CommonFileQuery, IIterable<String>)

파일을 열거하기 위한 QueryOptions 클래스의 instance 만들고 지정된 CommonFileQuery에서 제공하는 값과 쿼리 결과에 포함할 파일을 결정하는 선택적 파일 형식 필터로 초기화합니다.

QueryOptions(CommonFolderQuery)

하위 폴더를 열거하기 위한 QueryOptions 클래스의 instance 만들고 지정된 CommonFolderQuery를 기반으로 값을 사용하여 초기화합니다.

속성

ApplicationSearchFilter

키워드 또는 속성별로 파일을 필터링하기 위한 애플리케이션 정의 AQS(고급 쿼리 구문) 문자열을 가져오거나 설정합니다. 이 속성은 UserSearchFilter 와 결합하여 쿼리의 검색 필터를 만듭니다.

DateStackOption

Date에 따라 CommonFolderQuery를 사용하여 QueryOptions 개체를 만든 경우 파일을 폴더로 그룹화하는 데 사용되는 시간 단위를 가져옵니다. 예를 들어 CommonFolderQuery.GroupByYear 를 사용하여 QueryOptions 개체를 만드는 경우 이 속성의 값은 DateStackOption.Year입니다.

FileTypeFilter

검색 결과를 필터링하는 데 사용되는 파일 이름 확장명 목록을 가져옵니다. 목록이 비어 있으면 결과에 모든 파일 형식이 포함됩니다.

FolderDepth

검색 쿼리가 폴더 내용의 단순 보기 또는 모든 파일 및 하위 폴더의 심층 재귀 뷰를 생성해야 하는지 여부를 나타냅니다.

GroupPropertyName

CommonFolderQuery를 사용하여 QueryOptions 개체를 만든 경우 쿼리 결과를 그룹화하는 데 사용되는 속성의 이름을 가져옵니다. 예를 들어 CommonFolderQuery.GroupByYear 를 사용하여 QueryOptions 개체를 만드는 경우 이 속성의 값은 System.ItemDate입니다.

IndexerOption

시스템 인덱스 또는 파일 시스템이 쿼리 결과를 검색하는 데 사용되는지 여부를 지정하는 값을 가져오거나 설정합니다. 인덱서는 결과를 더 빠르게 검색할 수 있지만 모든 파일 위치에서는 사용할 수 없습니다.

Language

쿼리와 연결된 언어를 식별하는 IETF(Internet Engineering Task Force) 언어 태그(BCP47 표준)를 가져오거나 설정합니다. 이는 시스템에서 쿼리를 개별 검색 토큰으로 분할하는 데 사용하는 언어별 알고리즘을 결정합니다.

SortOrder

쿼리 결과에서 콘텐츠(예: 파일 및 하위 폴더)를 정렬하는 방법을 지정하는 SortEntry 구조의 목록을 가져옵니다. 이 목록을 사용하여 쿼리 결과가 정렬되는 방식을 사용자 지정합니다.

StorageProviderIdFilter

스토리지 공급자 식별자에 대한 필터를 가져옵니다.

UserSearchFilter

키워드 또는 속성별로 파일을 필터링하기 위한 사용자 정의 AQS(고급 쿼리 구문) 문자열을 가져오거나 설정합니다. 이 속성은 ApplicationSearchFilter 와 결합하여 쿼리의 검색 필터를 만듭니다.

메서드

LoadFromString(String)

SaveToString 메서드에서 만든 문자열로 지정된 검색 매개 변수를 사용하여 QueryOptions 클래스의 현재 instance 초기화합니다.

SaveToString()

QueryOptions 개체의 값을 LoadFromString을 호출하여 QueryOptions 개체의 값을 초기화하는 데 사용할 수 있는 문자열로 변환합니다.

SetPropertyPrefetch(PropertyPrefetchOptions, IIterable<String>)

쿼리가 실행되는 동안(대/소문자 단위로 검색하는 대신) 쿼리 결과 집합의 모든 항목에 대해 시스템이 미리 로드해야 하는 속성을 지정합니다. 많은 속성을 지정하면 쿼리를 실행하는 데 시간이 더 오래 걸릴 수 있지만 쿼리 결과에 대한 후속 속성 검색 속도가 빨라집니다.

SetThumbnailPrefetch(ThumbnailMode, UInt32, ThumbnailOptions)

항목에 액세스할 때 시스템에서 즉시 로드를 시작해야 하는 미리 보기의 유형과 크기를 지정합니다(대/소문자 단위로 검색하는 대신). 이렇게 하면 더 많은 리소스를 사용하지만 쿼리 결과에서 미리 보기를 더 빠르게 검색할 수 있습니다.

적용 대상

추가 정보