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