Interfaccia IWICMetadataQueryReader (wincodec.h)

Espone i metodi per il recupero di blocchi di metadati e elementi da un decodificatore o dai relativi frame di immagine tramite un'espressione di query di metadati.

Ereditarietà

L'interfaccia IWICMetadataQueryReader eredita dall'interfaccia IUnknown . IWICMetadataQueryReader include anche questi tipi di membri:

Metodi

L'interfaccia IWICMetadataQueryReader include questi metodi.

 
IWICMetadataQueryReader::GetContainerFormat

Ottiene il formato del contenitore dei lettori di query dei metadati.
IWICMetadataQueryReader::GetEnumerator

Ottiene un enumeratore di tutti gli elementi di metadati nella posizione relativa corrente all'interno della gerarchia dei metadati.
IWICMetadataQueryReader::GetLocation

Recupera il percorso corrente rispetto al blocco di metadati radice.
IWICMetadataQueryReader::GetMetadataByName

Recupera il blocco di metadati o l'elemento identificato da un'espressione di query di metadati.

Commenti

Un lettore di query sui metadati usa espressioni di query di metadati per accedere ai metadati incorporati. Per altre informazioni sul linguaggio di query dei metadati, vedere Panoramica del linguaggio di query sui metadati.

Il vantaggio del lettore di query è la possibilità di accedere a un elemento di metadati in un singolo passaggio.

Il lettore di query consente inoltre di attraversare l'intero set di gerarchie di metadati con l'aiuto del metodo GetEnumerator . Tuttavia, non è consigliabile usare questo metodo poiché IWICMetadataBlockReader e IWICMetadataReader offrono un modo più pratico e più economico.

Esempio

Il codice seguente illustra come ottenere un lettore di query e usarlo per recuperare un elemento di metadati.

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

Il codice seguente illustra come ottenere il lettore di query e usarlo per recuperare un blocco di metadati annidato.

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

Requisiti

Requisito Valore
Client minimo supportato Windows XP con SP2, Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione wincodec.h

Vedi anche

Informazioni concettuali

Panoramica del linguaggio di query sui metadati

Panoramica della lettura e scrittura dei metadati delle immagini

Panoramica dei metadati WIC