Condividi tramite


Interfaccia IThumbnailCache (thumbcache.h)

Espone i metodi per una cache di anteprima di sistema condivisa tra applicazioni.

Ereditarietà

L'interfaccia IThumbnailCache eredita dall'interfaccia IUnknown . IThumbnailCache include anche questi tipi di membri:

Metodi

L'interfaccia IThumbnailCache include questi metodi.

 
IThumbnailCache::GetThumbnail

Ottiene un'anteprima memorizzata nella cache per un determinato elemento shell.
IThumbnailCache::GetThumbnailByID

Ottiene un'anteprima dalla cache delle anteprime, in base all'ID.

Commenti

L'API Cache di anteprima è progettata per fornire alle applicazioni un metodo unificato per recuperare e memorizzare nella cache le anteprime. In Windows XP la memorizzazione nella cache delle anteprime viene eseguita in base alla cartella e la cache viene mantenuta in un file Thumbs.db all'interno di ogni cartella. Sebbene questo approccio fornisca la localizzazione spaziale, non supporta le anteprime e le query tra cartelle. La cache delle anteprime in Windows Vista risolve questo problema fornendo una cache globale.

Per memorizzare nella cache un'anteprima, un'applicazione deve prima ottenere un oggetto IShellItem che rappresenta l'elemento per il quale verrà ottenuta un'anteprima e quindi passare IShellItem a una chiamata a IThumbnailCache::GetThumbnail. Se il parametro flags to IThumbnailCache::GetThumbnail include il flag WTS_EXTRACT e l'anteprima non è già memorizzata nella cache, verrà estratta un'anteprima e inserita nella cache. Se il flag WTS_FORCEEXTRACTION è impostato, la cache viene ignorata e viene sempre estratta una nuova anteprima. Per altre informazioni sui flag passati a IThumbnailCache::GetThumbnail , vedere l'argomento IThumbnailCache::GetThumbnail.

Se un'anteprima non è già presente nella cache, verrà estratta automaticamente dal file di origine usando le implementazioni esistenti di IExtractImage o IThumbnailProvider registrate nel sistema operativo. L'applicazione non deve fornire un'implementazione dell'estrattore di anteprima.

Quando IThumbnailCache::GetThumbnail restituisce, il relativo parametro pThumbnailID riceve una struttura WTS_THUMBNAILID contenente l'ID univoco dell'anteprima. Se questo ID viene salvato, può essere passato a IThumbnailCache::GetThumbnailByID per recuperare l'anteprima memorizzata nella cache. In alternativa, è possibile chiamare IThumbnailCache::GetThumbnail con il flag WTS_CACHEONLY impostato. In questo caso, verrà restituita un'anteprima solo se è già memorizzata nella cache. Lo svantaggio dell'uso di IThumbnailCache::GetThumbnail anziché IThumbnailCache::GetThumbnailByID, è che deve essere ancora fornito un oggetto IShellItem .

È possibile usare più thread per accedere alla cache delle anteprime per migliorare le prestazioni. IThumbnailCache::GetThumbnail può essere chiamato su un thread con priorità superiore con il WTS_INCACHEONLY o il flag WTS_FASTEXTRACT impostato, in modo che le anteprime memorizzate nella cache vengano recuperate immediatamente. Se l'immagine non si trova nella cache o WTS_LOWQUALITY indica che l'immagine memorizzata nella cache non era di qualità ideale, un thread con priorità inferiore può essere usato per chiamare IThumbnailCache::GetThumbnail con il flag di WTS_EXTRACT impostato, in modo che un'anteprima possa essere estratta.

Requisiti

   
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione thumbcache.h