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