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