Поделиться через


Интерфейс 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 с пакетом обновления 2 (SP2), Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header wincodec.h

См. также раздел

Основные понятия

Общие сведения о языке запросов метаданных

Общие сведения о чтении и записи метаданных изображения

Общие сведения о метаданных WIC