Método IThumbnailCache::GetThumbnail (thumbcache.h)

Obtém uma miniatura armazenada em cache para um determinado item do Shell.

Sintaxe

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
);

Parâmetros

[in] pShellItem

Tipo: IShellItem*

Um ponteiro para o item shell para o qual recuperar uma miniatura.

[in] cxyRequestedThumbSize

Tipo: UINT

O tamanho de miniatura solicitado em pixels. O valor máximo é de 1024.

[in] flags

Tipo: WTS_FLAGS

Uma combinação de valores da enumeração WTS_FLAGS . Consulte a seção Comentários para obter regras e uma lista de combinações possíveis.

[out, optional] ppvThumb

Tipo: ISharedBitmap**

O endereço de um ponteiro ISharedBitmap que, quando este método retorna com êxito, recebe o objeto usado para acessar a miniatura. Esse parâmetro pode ser NULL.

[out, optional] pOutFlags

Tipo: WTS_CACHEFLAGS*

Um ponteiro para um valor que, quando esse método retorna com êxito, recebe uma combinação dos sinalizadores a seguir da enumeração WTS_CACHEFLAGS.

WTS_DEFAULT (0x00000000)

0x00000000.

WTS_LOWQUALITY (0x00000001)

0x00000001. Defina quando as dimensões de bitmap retornadas forem menores que cxyRequestedThumbSize.

WTS_CACHED (0x00000002)

0x00000002. Defina quando a imagem retornada estiver no cache.

[out, optional] pThumbnailID

Tipo: WTS_THUMBNAILID*

Um ponteiro para um valor que, quando esse método retorna com êxito, recebe uma ID exclusiva para a miniatura retornada. Esse parâmetro pode ser NULL; nesse caso, a ID da miniatura é descartada.

Retornar valor

Tipo: HRESULT

Retorna S_OK se tiver êxito ou um valor de erro COM padrão, caso contrário, incluindo o seguinte:

Código de retorno Descrição
E_INVALIDARG
Um parâmetro é inválido.
WTS_E_FAILEDEXTRACTION
O item Shell não dá suporte à extração em miniatura. Por exemplo, .exe ou itens de .lnk.
WTS_E_EXTRACTIONTIMEDOUT
A extração demorou mais do que o tempo máximo permitido. A extração não foi concluída.
WTS_E_SURROGATEUNAVAILABLE
Um processo alternativo não estava disponível para ser usado para o processo de extração.
WTS_E_FASTEXTRACTIONNOTSUPPORTED
O sinalizador WTS_FASTEXTRACT foi definido, mas a extração rápida não está disponível.

Comentários

Se uma miniatura for extraída, ela será armazenada em cache, a menos que WTS_EXTRACTDONOTCACHE seja especificado.

As combinações a seguir são válidas para o parâmetro flags.

WTS_INCACHEONLY
WTS_FASTEXTRACT
WTS_EXTRACT
WTS_EXTRACT | WTS_SLOWRECLAIM
WTS_FORCEEXTRACTION
WTS_FORCEEXTRACTION | WTS_SLOWRECLAIM
WTS_EXTRACTDONOTCACHE
 

GetImage também usa esse cache e pode fornecer uma maneira mais fácil de recuperar a miniatura. No entanto, GetImage é mais geral e recuperará um ícone como um fallback.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho thumbcache.h

Confira também

IShellItemImageFactory::GetImage

IThumbnailCache