IThumbnailCache::GetThumbnail 方法 (thumbcache.h)

取得指定殼層專案的快取縮圖。

語法

HRESULT GetThumbnail(
  [in]            IShellItem      *pShellItem,
  [in]            UINT            cxyRequestedThumbSize,
  [in]            WTS_FLAGS       flags,
  [out, optional] ISharedBitmap   **ppvThumb,
  [out, optional] WTS_CACHEFLAGS  *pOutFlags,
  [out, optional] WTS_THUMBNAILID *pThumbnailID
);

參數

[in] pShellItem

類型: IShellItem*

要擷取縮圖之Shell專案的指標。

[in] cxyRequestedThumbSize

類型: UINT

要求的縮圖大小,以像素為單位。 最大值為 1024。

[in] flags

類型: WTS_FLAGS

來自 WTS_FLAGS 列舉的值組合。 如需規則和可能的組合清單,請參閱一節。

[out, optional] ppvThumb

類型: ISharedBitmap**

當此方法成功傳回時, ISharedBitmap 指標的位址會接收用來存取縮圖的物件。 此參數可以是 NULL

[out, optional] pOutFlags

類型: WTS_CACHEFLAGS*

值指標,當這個方法成功傳回時,會從WTS_CACHEFLAGS列舉接收下列旗標的組合。

WTS_DEFAULT (0x00000000)

0x00000000。

WTS_LOWQUALITY (0x00000001)

0x00000001。 設定傳回的位圖維度小於 cxyRequestedThumbSize 時。

WTS_CACHED (0x00000002)

0x00000002。 設定傳回的映像在快取中時。

[out, optional] pThumbnailID

類型: WTS_THUMBNAILID*

值指標,當這個方法成功傳回時,會收到所傳回縮圖的唯一標識符。 此參數可能是 NULL,在此情況下會捨棄縮圖標識碼。

傳回值

類型: HRESULT

如果成功或標準 COM 錯誤值,則傳回S_OK,包括下列專案:

傳回碼 Description
E_INVALIDARG
有一個參數無效。
WTS_E_FAILEDEXTRACTION
Shell 專案不支援縮圖擷取。 例如,.exe 或.lnk專案。
WTS_E_EXTRACTIONTIMEDOUT
擷取所花費的時間超過允許時間上限。 未完成擷取。
WTS_E_SURROGATEUNAVAILABLE
代理進程無法用於擷取程式。
WTS_E_FASTEXTRACTIONNOTSUPPORTED
已設定WTS_FASTEXTRACT旗標,但無法使用快速擷取。

備註

如果擷取縮圖,除非指定了WTS_EXTRACTDONOTCACHE,否則將會快取該縮圖。

下列組合對 flags 參數有效。

WTS_INCACHEONLY
WTS_FASTEXTRACT
WTS_EXTRACT
WTS_EXTRACT |WTS_SLOWRECLAIM
WTS_FORCEEXTRACTION
WTS_FORCEEXTRACTION |WTS_SLOWRECLAIM
WTS_EXTRACTDONOTCACHE
 

GetImage 也會使用此快取,並提供更簡單的方式來擷取縮圖。 不過, GetImage 較一般,而且會擷取圖示做為後援。

規格需求

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

另請參閱

IShellItemImageFactory::GetImage

IThumbnailCache