IWICMetadataQueryReader 인터페이스(wincodec.h)
메타데이터 쿼리 식을 사용하여 디코더 또는 해당 이미지 프레임에서 메타데이터 블록 및 항목을 검색하는 메서드를 노출합니다.
상속
IWICMetadataQueryReader 인터페이스는 IUnknown 인터페이스에서 상속됩니다. IWICMetadataQueryReader 에는 다음과 같은 유형의 멤버도 있습니다.
메서드
IWICMetadataQueryReader 인터페이스에는 이러한 메서드가 있습니다.
IWICMetadataQueryReader::GetContainerFormat 메타데이터 쿼리 판독기 컨테이너 형식을 가져옵니다. |
IWICMetadataQueryReader::GetEnumerator 메타데이터 계층 내의 현재 상대 위치에 있는 모든 메타데이터 항목의 열거자를 가져옵니다. |
IWICMetadataQueryReader::GetLocation 루트 메타데이터 블록을 기준으로 현재 경로를 검색합니다. |
IWICMetadataQueryReader::GetMetadataByName 메타데이터 쿼리 식으로 식별된 메타데이터 블록 또는 항목을 검색합니다. |
설명
메타데이터 쿼리 판독기는 메타데이터 쿼리 식을 사용하여 포함된 메타데이터에 액세스합니다. 메타데이터 쿼리 언어에 대한 자세한 내용은 메타데이터 쿼리 언어 개요를 참조하세요.
쿼리 판독기의 이점은 단일 단계에서 메타데이터 항목에 액세스할 수 있다는 것입니다.
또한 쿼리 판독기는 GetEnumerator 메서드의 도움을 받아 메타데이터 계층 구조의 전체 집합을 트래버스하는 방법을 제공합니다. 그러나 IWICMetadataBlockReader 및 IWICMetadataReader 는 더 편리하고 저렴한 방법을 제공하므로 이 메서드를 사용하지 않는 것이 좋습니다.
예제
다음 코드에서는 쿼리 판독기를 가져와 메타데이터 항목을 검색하는 데 사용하는 방법을 보여 줍니다.
// Get the query reader
if (SUCCEEDED(hr))
{
hr = pFrameDecode->GetMetadataQueryReader(&pQueryReader);
}
if (SUCCEEDED(hr))
{
hr = pQueryReader->GetMetadataByName(L"/app1/ifd/{ushort=18249}", &value);
PropVariantClear(&value);
}
다음 코드에서는 쿼리 판독기를 가져와 중첩된 메타데이터 블록을 검색하는 데 사용하는 방법을 보여 줍니다.
// Get the query reader
if (SUCCEEDED(hr))
{
hr = pFrameDecode->GetMetadataQueryReader(&pQueryReader);
}
if (SUCCEEDED(hr))
{
// Get the embedded IFD reader
hr = pQueryReader->GetMetadataByName(L"/app1/ifd", &value);
if (value.vt == VT_UNKNOWN)
{
hr = value.punkVal->QueryInterface(IID_IWICMetadataQueryReader, (void **)&pEmbedReader);
}
PropVariantClear(&value); // Clear value for new query
}
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | WINDOWS XP SP2, Windows Vista [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | wincodec.h |
추가 정보
개념