Interface IWICMetadataQueryReader (wincodec.h)

Expose des méthodes pour récupérer des blocs de métadonnées et des éléments à partir d’un décodeur ou de ses trames d’image à l’aide d’une expression de requête de métadonnées.

Héritage

L’interface IWICMetadataQueryReader hérite de l’interface IUnknown. IWICMetadataQueryReader a également les types de membres suivants :

Méthodes

L’interface IWICMetadataQueryReader a ces méthodes.

 
IWICMetadataQueryReader ::GetContainerFormat

Obtient le format de conteneur des lecteurs de requête de métadonnées.
IWICMetadataQueryReader ::GetEnumerator

Obtient un énumérateur de tous les éléments de métadonnées à l’emplacement relatif actuel dans la hiérarchie de métadonnées.
IWICMetadataQueryReader ::GetLocation

Récupère le chemin d’accès actuel relatif au bloc de métadonnées racine.
IWICMetadataQueryReader ::GetMetadataByName

Récupère le bloc de métadonnées ou l’élément identifié par une expression de requête de métadonnées.

Remarques

Un lecteur de requête de métadonnées utilise des expressions de requête de métadonnées pour accéder aux métadonnées incorporées. Pour plus d’informations sur le langage de requête de métadonnées, consultez Vue d’ensemble du langage de requête de métadonnées.

L’avantage du lecteur de requête est la possibilité d’accéder à un élément de métadonnées en une seule étape.

Le lecteur de requête permet également de parcourir l’ensemble de la hiérarchie de métadonnées à l’aide de la méthode GetEnumerator . Toutefois, il n’est pas recommandé d’utiliser cette méthode, car IWICMetadataBlockReader et IWICMetadataReader offrent un moyen plus pratique et moins cher.

Exemples

Le code suivant montre comment obtenir un lecteur de requête et l’utiliser pour récupérer un élément de métadonnées.

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

Le code suivant montre comment obtenir un lecteur de requête et l’utiliser pour récupérer un bloc de métadonnées imbriqué.

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

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP avec SP2, Windows Vista [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête wincodec.h

Voir aussi

Conceptuel

Vue d’ensemble du langage de requête de métadonnées

Vue d’ensemble de la lecture et de l’écriture de métadonnées d’image

Vue d’ensemble des métadonnées WIC