Share via


Interface IThumbnailCache (thumbcache.h)

Expõe métodos para um cache de miniaturas do sistema que é compartilhado entre aplicativos.

Herança

A interface IThumbnailCache herda da interface IUnknown . IThumbnailCache também tem estes tipos de membros:

Métodos

A interface IThumbnailCache tem esses métodos.

 
IThumbnailCache::GetThumbnail

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

Obtém uma miniatura do cache de miniaturas, considerando sua ID.

Comentários

A API de Cache de Miniatura foi projetada para fornecer aos aplicativos um método unificado para recuperar e armazenar em cache miniaturas. No Windows XP, o cache em miniatura é feito por pasta e o cache é mantido em um arquivo Thumbs.db dentro de cada pasta. Embora essa abordagem forneça localidade espacial, ela não dá suporte a visualizações e consultas entre pastas. O cache em miniatura no Windows Vista resolve essa deficiência fornecendo um cache global.

Para armazenar em cache uma miniatura, um aplicativo deve primeiro obter um IShellItem que representa o item para o qual uma miniatura será obtida e, em seguida, passar o IShellItem para uma chamada para IThumbnailCache::GetThumbnail. Se o parâmetro flags para IThumbnailCache::GetThumbnail incluir o sinalizador WTS_EXTRACT e a miniatura ainda não estiver armazenada em cache, uma miniatura será extraída e colocada no cache. Se o sinalizador WTS_FORCEEXTRACTION estiver definido, o cache será ignorado e uma nova miniatura sempre será extraída. Consulte o tópico IThumbnailCache::GetThumbnail para obter mais detalhes sobre os sinalizadores passados para IThumbnailCache::GetThumbnail.

Se uma miniatura ainda não estiver no cache, ela será extraída automaticamente do arquivo de origem usando as implementações existentes de IExtractImage ou IThumbnailProvider registradas no sistema operacional. Seu aplicativo não precisa fornecer uma implementação do extrator de miniatura.

Quando IThumbnailCache::GetThumbnail retorna, seu parâmetro pThumbnailID recebe uma estrutura WTS_THUMBNAILID que contém a ID exclusiva da miniatura. Se essa ID for salva, ela poderá ser passada para IThumbnailCache::GetThumbnailByID para recuperar a miniatura armazenada em cache. Como alternativa, IThumbnailCache::GetThumbnail pode ser chamado com o sinalizador WTS_CACHEONLY definido. Nesse caso, uma miniatura será retornada somente se já estiver armazenada em cache. A desvantagem de usar IThumbnailCache::GetThumbnail em vez de IThumbnailCache::GetThumbnailByID é que um IShellItem ainda deve ser fornecido.

Vários threads podem ser usados para acessar o cache em miniatura para melhorar o desempenho. IThumbnailCache::GetThumbnail pode ser chamado em um thread de prioridade mais alta com o WTS_INCACHEONLY ou o sinalizador WTS_FASTEXTRACT definido, para que as miniaturas armazenadas em cache sejam recuperadas imediatamente. Em seguida, se a imagem não estiver no cache ou WTS_LOWQUALITY indicar que a imagem armazenada em cache não era de qualidade ideal, um thread de prioridade mais baixa poderá ser usado para chamar IThumbnailCache::GetThumbnail com o sinalizador WTS_EXTRACT definido, para que uma miniatura possa ser extraída.

Requisitos

   
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