IWICMetadataQueryReader-Schnittstelle (wincodec.h)

Macht Methoden zum Abrufen von Metadatenblöcken und Elementen aus einem Decoder oder dessen Bildframes mithilfe eines Metadatenabfrageausdrucks verfügbar.

Vererbung

Die IWICMetadataQueryReader-Schnittstelle erbt von der IUnknown-Schnittstelle . IWICMetadataQueryReader verfügt auch über folgende Membertypen:

Methoden

Die IWICMetadataQueryReader-Schnittstelle verfügt über diese Methoden.

 
IWICMetadataQueryReader::GetContainerFormat

Ruft das Containerformat für Metadatenabfrageleser ab.
IWICMetadataQueryReader::GetEnumerator

Ruft einen Enumerator aller Metadatenelemente am aktuellen relativen Speicherort innerhalb der Metadatenhierarchie ab.
IWICMetadataQueryReader::GetLocation

Ruft den aktuellen Pfad relativ zum Stammmetadatenblock ab.
IWICMetadataQueryReader::GetMetadataByName

Ruft den Metadatenblock oder das durch einen Metadatenabfrageausdruck identifizierte Element ab.

Hinweise

Ein Metadatenabfrageleser verwendet Metadatenabfrageausdrücke, um auf eingebettete Metadaten zuzugreifen. Weitere Informationen zur Sprache der Metadatenabfrage finden Sie unter Übersicht über die Metadatenabfragesprache.

Der Vorteil des Abfragelesers ist die Möglichkeit, in einem einzigen Schritt auf ein Metadatenelement zuzugreifen.

Der Abfrageleser bietet auch die Möglichkeit, den gesamten Satz der Metadatenhierarchie mit Hilfe der GetEnumerator-Methode zu durchlaufen. Es wird jedoch nicht empfohlen, diese Methode zu verwenden, da IWICMetadataBlockReader und IWICMetadataReader eine bequemere und kostengünstigere Methode bieten.

Beispiele

Der folgende Code veranschaulicht, wie Ein Abfrageleser abgerufen und zum Abrufen eines Metadatenelements verwendet wird.

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

Der folgende Code veranschaulicht, wie Sie einen Abfrageleser abrufen und ihn verwenden, um einen geschachtelten Metadatenblock abzurufen.

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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP mit SP2, Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile wincodec.h

Siehe auch

Konzept

Übersicht über die Metadaten-Abfragesprache

Übersicht über das Lesen und Schreiben von Bildmetadaten

Übersicht über WIC-Metadaten