IThumbnailCache::GetThumbnail 方法 (thumbcache.h)
获取给定 Shell 项的缓存缩略图。
语法
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*
指向一个值的指针,当此方法成功返回时,该值接收返回的缩略图的唯一 ID。 此参数可以为 NULL,在这种情况下,缩略图 ID 将被丢弃。
返回值
类型: HRESULT
如果成功,则返回S_OK,否则返回标准 COM 错误值,包括以下内容:
返回代码 | 说明 |
---|---|
|
参数无效。 |
|
Shell 项不支持缩略图提取。 例如,.exe 或.lnk项。 |
|
提取所花费的时间超过了允许的最长时间。 提取未完成。 |
|
代理进程不能用于提取过程。 |
|
已设置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 |