Поделиться через


Метод 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*

Указатель на элемент оболочки, для которого требуется получить эскиз.

[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

Возвращает S_OK в случае успешного выполнения или значение стандартной ошибки COM, в противном случае, включая следующее:

Код возврата Описание
E_INVALIDARG
Недопустимый параметр.
WTS_E_FAILEDEXTRACTION
Элемент оболочки не поддерживает извлечение эскизов. Например, .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
Header thumbcache.h

См. также раздел

IShellItemImageFactory::GetImage

IThumbnailCache