Compartilhar via


Interface IWICMetadataQueryReader (wincodec.h)

Expõe métodos para recuperar blocos de metadados e itens de um decodificador ou seus quadros de imagem usando uma expressão de consulta de metadados.

Herança

A interface IWICMetadataQueryReader herda da interface IUnknown . IWICMetadataQueryReader também tem estes tipos de membros:

Métodos

A interface IWICMetadataQueryReader tem esses métodos.

 
IWICMetadataQueryReader::GetContainerFormat

Obtém o formato de contêiner de leitores de consulta de metadados.
IWICMetadataQueryReader::GetEnumerator

Obtém um enumerador de todos os itens de metadados no local relativo atual dentro da hierarquia de metadados.
IWICMetadataQueryReader::GetLocation

Recupera o caminho atual em relação ao bloco de metadados raiz.
IWICMetadataQueryReader::GetMetadataByName

Recupera o bloco de metadados ou o item identificado por uma expressão de consulta de metadados.

Comentários

Um leitor de consulta de metadados usa expressões de consulta de metadados para acessar metadados inseridos. Para obter mais informações sobre a linguagem de consulta de metadados, consulte a Visão geral da linguagem de consulta de metadados.

O benefício do leitor de consulta é a capacidade de acessar um item de metadados em uma única etapa.

O leitor de consulta também fornece a maneira de percorrer todo o conjunto de hierarquia de metadados com a ajuda do método GetEnumerator . No entanto, não é recomendável usar esse método, pois IWICMetadataBlockReader e IWICMetadataReader fornecem uma maneira mais conveniente e mais barata.

Exemplos

O código a seguir demonstra como obter um leitor de consulta e usá-lo para recuperar um item de metadados.

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

O código a seguir demonstra como obter o leitor de consulta e usá-lo para recuperar um bloco de metadados aninhados.

// 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 Valor
Cliente mínimo com suporte Windows XP com SP2, Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho wincodec.h

Confira também

Conceitual

Visão geral da linguagem de consulta de metadados

Visão geral dos metadados de imagem de leitura e gravação

Visão geral dos metadados do WIC