Antarmuka IThumbnailCache (thumbcache.h)
Mengekspos metode untuk cache gambar mini sistem yang dibagikan di seluruh aplikasi.
Warisan
Antarmuka IThumbnailCache mewarisi dari antarmuka IUnknown . IThumbnailCache juga memiliki jenis anggota ini:
Metode
Antarmuka IThumbnailCache memiliki metode ini.
IThumbnailCache::GetThumbnail Mendapatkan gambar mini yang di-cache untuk item Shell tertentu. |
IThumbnailCache::GetThumbnailByID Mendapatkan gambar mini dari cache gambar mini, mengingat ID-nya. |
Keterangan
Thumbnail Cache API dirancang untuk menyediakan aplikasi dengan metode terpadu untuk mengambil dan menyimpan gambar mini. Di Windows XP, penembolokan gambar mini dilakukan berdasarkan per folder, dan cache dipertahankan dalam file Thumbs.db dalam setiap folder. Meskipun pendekatan ini menyediakan lokalitas spasial, pendekatan ini tidak mendukung pratinjau dan kueri di seluruh folder. Singgahan gambar mini di Windows Vista mengatasi kekurangan ini dengan menyediakan cache global.
Untuk menyimpan gambar mini, aplikasi harus terlebih dahulu mendapatkan IShellItem yang mewakili item yang gambar mininya akan diperoleh, lalu meneruskan IShellItem ke panggilan ke IThumbnailCache::GetThumbnail. Jika parameter bendera ke IThumbnailCache::GetThumbnail menyertakan bendera WTS_EXTRACT, dan gambar mini belum di-cache, gambar mini akan diekstraksi dan ditempatkan di cache. Jika bendera WTS_FORCEEXTRACTION diatur, cache diabaikan dan gambar mini baru selalu diekstraksi. Lihat topik IThumbnailCache::GetThumbnail untuk detail selengkapnya tentang bendera yang diteruskan ke IThumbnailCache::GetThumbnail.
Jika gambar mini belum ada di cache, gambar mini akan secara otomatis diekstrak dari file sumber menggunakan implementasi IExtractImage atau IThumbnailProvider yang ada di sistem operasi. Aplikasi Anda tidak harus menyediakan implementasi ekstraktor gambar mini.
Ketika IThumbnailCache::GetThumbnail kembali, parameter pThumbnailID-nya menerima struktur WTS_THUMBNAILID yang berisi ID unik gambar mini. Jika ID ini disimpan, ID ini kemudian dapat diteruskan ke IThumbnailCache::GetThumbnailByID untuk mengambil gambar mini yang di-cache. Atau, IThumbnailCache::GetThumbnail dapat dipanggil dengan set bendera WTS_CACHEONLY. Dalam hal ini, gambar mini akan dikembalikan hanya jika sudah di-cache. Kerugian menggunakan IThumbnailCache::GetThumbnail daripada IThumbnailCache::GetThumbnailByID, adalah bahwa IShellItem harus tetap disediakan.
Beberapa utas dapat digunakan untuk mengakses cache gambar mini untuk meningkatkan performa. IThumbnailCache::GetThumbnail dapat dipanggil pada utas prioritas yang lebih tinggi dengan bendera WTS_INCACHEONLY atau WTS_FASTEXTRACT yang ditetapkan, sehingga gambar mini yang di-cache segera diambil. Kemudian jika gambar tidak ada di cache, atau WTS_LOWQUALITY menunjukkan gambar yang di-cache tidak memiliki kualitas yang ideal, utas prioritas yang lebih rendah dapat digunakan untuk memanggil IThumbnailCache::GetThumbnail dengan set bendera WTS_EXTRACT, sehingga gambar mini dapat diekstraksi.
Persyaratan
Klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | thumbcache.h |