共用方式為


IThumbnailCache 介面 (thumbcache.h)

公開跨應用程式共用之系統縮圖快取的方法。

繼承

IThumbnailCache介面繼承自IUnknown介面。 IThumbnailCache 也有下列類型的成員:

方法

IThumbnailCache介面具有這些方法。

 
IThumbnailCache::GetThumbnail

取得指定 Shell 專案的快取縮圖。
IThumbnailCache::GetThumbnailByID

根據縮圖快取的識別碼,從縮圖快取取得縮圖。

備註

縮圖快取 API 的設計目的是要為應用程式提供統一方法來擷取和快取縮圖。 在 Windows XP 中,縮圖快取是以個別資料夾為基礎完成,而且快取會在每個資料夾內的 Thumbs.db 檔案中維護。 雖然此方法提供空間位置,但它不支援跨資料夾的預覽和查詢。 Windows Vista 中的縮圖快取藉由提供全域快取來解決這項缺點。

若要快取縮圖,應用程式必須先取得 IShellItem ,代表將取得縮圖的專案,然後將 IShellItem 傳遞至 對 IThumbnailCache::GetThumbnailCache::GetThumbnail 的呼叫。 如果旗標參數為 IThumbnailCache::GetThumbnail 包含旗標WTS_EXTRACT,而且尚未快取縮圖,則會擷取縮圖並放在快取中。 如果設定旗標WTS_FORCEEXTRACTION,則會忽略快取,而且一律會擷取新的縮圖。 如需傳遞至IThumbnailCache::GetThumbnail 的旗標的詳細資訊,請參閱 IThumbnailCache::GetThumbnail 主題

如果縮圖尚未在快取中,則會使用已在作業系統上註冊之 IExtractImageIThumbnailProvider 的現有 (實作,自動從原始程式檔擷) 取該縮圖。 您的應用程式不需要提供縮圖擷取器的實作。

當 IThumbnailCache::GetThumbnail傳回時,其pThumbnailID參數會收到包含縮圖唯一識別碼的WTS_THUMBNAILID結構。 如果儲存此識別碼,就可以傳遞至 IThumbnailCache::GetThumbnailByID 以擷取快取的縮圖。 或者,可以使用WTS_CACHEONLY旗標集呼叫 IThumbnailCache::GetThumbnail 。 在此情況下,只有在已經快取縮圖時,才會傳回縮圖。 使用 IThumbnailCache::GetThumbnail 而不是 IThumbnailCache::GetThumbnailByID的缺點是仍必須提供 IShellItem

多個執行緒可用來存取縮圖快取以改善效能。 IThumbnailCache::GetThumbnail 可以在具有WTS_INCACHEONLY或WTS_FASTEXTRACT旗標集的較高優先順序執行緒上呼叫,以便立即擷取快取的縮圖。 然後,如果影像不在快取中,或WTS_LOWQUALITY表示快取的影像不是理想的品質,則可以使用較低優先順序的執行緒來呼叫 IThumbnailCache::GetThumbnail 並設定WTS_EXTRACT旗標,以便擷取縮圖。

需求

   
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 thumbcache.h