Interfaz IWICMetadataQueryReader (wincodec.h)

Expone métodos para recuperar bloques de metadatos y elementos de un descodificador o sus marcos de imagen mediante una expresión de consulta de metadatos.

Herencia

La interfaz IWICMetadataQueryReader hereda de la interfaz IUnknown . IWICMetadataQueryReader también tiene estos tipos de miembros:

Métodos

La interfaz IWICMetadataQueryReader tiene estos métodos.

 
IWICMetadataQueryReader::GetContainerFormat

Obtiene el formato de contenedor de lectores de consultas de metadatos.
IWICMetadataQueryReader::GetEnumerator

Obtiene un enumerador de todos los elementos de metadatos en la ubicación relativa actual dentro de la jerarquía de metadatos.
IWICMetadataQueryReader::GetLocation

Recupera la ruta de acceso actual relativa al bloque de metadatos raíz.
IWICMetadataQueryReader::GetMetadataByName

Recupera el bloque de metadatos o el elemento identificado por una expresión de consulta de metadatos.

Comentarios

Un lector de consultas de metadatos usa expresiones de consulta de metadatos para acceder a los metadatos incrustados. Para obtener más información sobre el lenguaje de consulta de metadatos, consulte Información general sobre el lenguaje de consulta de metadatos.

La ventaja del lector de consultas es la capacidad de acceder a un elemento de metadatos en un solo paso.

El lector de consultas también proporciona la manera de recorrer todo el conjunto de jerarquías de metadatos con la ayuda del método GetEnumerator . Sin embargo, no se recomienda usar este método, ya que IWICMetadataBlockReader e IWICMetadataReader proporcionan una manera más cómoda y económica.

Ejemplos

En el código siguiente se muestra cómo obtener un lector de consultas y usarlo para recuperar un elemento de metadatos.

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

En el código siguiente se muestra cómo obtener el lector de consultas y usarlo para recuperar un bloque de metadatos anidado.

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

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP con SP2, Windows Vista [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado wincodec.h

Consulte también

Conceptual

Introducción al lenguaje de consulta de metadatos

Información general sobre la lectura y escritura de metadatos de imagen

Introducción a los metadatos de WIC