IThumbnailCache::GetThumbnailByID 方法 (thumbcache.h)

根据给定的 ID,从缩略图缓存中获取缩略图。

语法

HRESULT GetThumbnailByID(
  [in]            WTS_THUMBNAILID thumbnailID,
  [in]            UINT            cxyRequestedThumbSize,
  [out, optional] ISharedBitmap   **ppvThumb,
  [out, optional] WTS_CACHEFLAGS  *pOutFlags
);

参数

[in] thumbnailID

类型: WTS_THUMBNAILID

要检索的缩略图的 ID。 该 ID 是通过调用 GetThumbnail 获取的

[in] cxyRequestedThumbSize

类型: UINT

请求的缩略图大小(以像素为单位)。 此值不能大于 1024。

[out, optional] ppvThumb

类型: ISharedBitmap**

ISharedBitmap 接口指针的地址,此方法成功返回时,接收用于访问请求的缩略图的对象。 此参数可以为 NULL。

[out, optional] pOutFlags

类型: WTS_CACHEFLAGS*

指向一个值的指针,当此方法成功返回时,该值将接收以下标志的组合。 如果不需要此信息,则可以将此值设置为 NULL

WTS_DEFAULT (0x00000000)

0x00000000。

WTS_LOWQUALITY (0x00000001)

0x00000001。 当返回的位图尺寸小于 cxyRequestedThumbSize 时设置。

WTS_CACHED (0x00000002)

0x00000002。 当返回的图像位于缓存中时设置。

返回值

类型: HRESULT

如果成功,则返回S_OK,否则返回错误值,包括以下内容:

返回代码 说明
E_INVALIDARG
参数无效。
WTS_E_FAILEDEXTRACTION
Shell 项不支持缩略图提取。 例如,.exe 或 .lnk 项。
WTS_E_EXTRACTIONTIMEDOUT
提取所花费的时间超过了允许的最长时间。 提取未完成。
WTS_E_SURROGATEUNAVAILABLE
代理进程不能用于提取过程。
WTS_E_FASTEXTRACTIONNOTSUPPORTED
已设置WTS_FASTEXTRACT标志,但快速提取不可用。

注解

通常在调用 GetThumbnail 以检索缩略图 ID 后调用此方法。

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 thumbcache.h