Antarmuka IWICMetadataQueryReader (wincodec.h)
Mengekspos metode untuk mengambil blok metadata dan item dari dekoder atau bingkai gambarnya menggunakan ekspresi kueri metadata.
Warisan
Antarmuka IWICMetadataQueryReader mewarisi dari antarmuka IUnknown . IWICMetadataQueryReader juga memiliki jenis anggota ini:
Metode
Antarmuka IWICMetadataQueryReader memiliki metode ini.
IWICMetadataQueryReader::GetContainerFormat Mendapatkan format kontainer pembaca kueri metadata. |
IWICMetadataQueryReader::GetEnumerator Mendapatkan enumerator semua item metadata di lokasi relatif saat ini dalam hierarki metadata. |
IWICMetadataQueryReader::GetLocation Mengambil jalur saat ini relatif terhadap blok metadata akar. |
IWICMetadataQueryReader::GetMetadataByName Mengambil blok metadata atau item yang diidentifikasi oleh ekspresi kueri metadata. |
Keterangan
Pembaca kueri metadata menggunakan ekspresi kueri metadata untuk mengakses metadata yang disematkan. Untuk informasi selengkapnya tentang bahasa kueri metadata, lihat Gambaran Umum Bahasa Kueri Metadata.
Manfaat pembaca kueri adalah kemampuan untuk mengakses item metadata dalam satu langkah.
Pembaca kueri juga menyediakan cara untuk melintasi seluruh set hierarki metadata dengan bantuan metode GetEnumerator . Namun, tidak disarankan untuk menggunakan metode ini karena IWICMetadataBlockReader dan IWICMetadataReader menyediakan cara yang lebih nyaman dan lebih murah.
Contoh
Kode berikut menunjukkan cara mendapatkan pembaca kueri dan menggunakannya untuk mengambil item metadata.
// 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);
}
Kode berikut menunjukkan cara mendapatkan pembaca kueri dan menggunakannya untuk mengambil blok metadata berlapis.
// 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
}
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP dengan SP2, Windows Vista [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2008 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | wincodec.h |
Lihat juga
Konseptual
Gambaran Umum Bahasa Kueri Metadata