IThumbnailCache-Schnittstelle (thumbcache.h)
Macht Methoden für einen Systemminiaturcache verfügbar, der anwendungsübergreifend freigegeben wird.
Vererbung
Die IThumbnailCache-Schnittstelle erbt von der IUnknown-Schnittstelle . IThumbnailCache verfügt auch über folgende Arten von Membern:
Methoden
Die IThumbnailCache-Schnittstelle verfügt über diese Methoden.
IThumbnailCache::GetThumbnail Ruft eine zwischengespeicherte Miniaturansicht für ein bestimmtes Shellelement ab. |
IThumbnailCache::GetThumbnailByID Ruft angesichts der ID eine Miniaturansicht aus dem Miniaturansichtscache ab. |
Hinweise
Die Miniaturansichtscache-API wurde entwickelt, um Anwendungen eine einheitliche Methode zum Abrufen und Zwischenspeichern von Miniaturansichten bereitzustellen. In Windows XP erfolgt die Miniaturzwischenspeicherung auf Ordnerbasis, und der Cache wird in einer Datei "Thumbs.db" in jedem Ordner verwaltet. Dieser Ansatz bietet zwar räumliche Lokalität, unterstützt aber keine Vorschauen und Abfragen über Ordner hinweg. Der Miniaturansichtscache in Windows Vista beseitigt diese Lücke, indem ein globaler Cache bereitgestellt wird.
Um eine Miniaturansicht zwischenzuspeichern, muss eine Anwendung zuerst ein IShellItem abrufen, das das Element darstellt, für das eine Miniaturansicht abgerufen wird, und dann das IShellItem an einen Aufruf von IThumbnailCache::GetThumbnail übergeben. Wenn der Flags-Parameter für IThumbnailCache::GetThumbnail das Flag WTS_EXTRACT enthält und die Miniaturansicht noch nicht zwischengespeichert ist, wird eine Miniaturansicht extrahiert und im Cache platziert. Wenn das Flag WTS_FORCEEXTRACTION festgelegt ist, wird der Cache ignoriert und immer eine neue Miniaturansicht extrahiert. Weitere Informationen zu den Flags, die an IThumbnailCache::GetThumbnail übergeben wurden, finden Sie im Thema IThumbnailCache::GetThumbnail.
Wenn sich eine Miniaturansicht noch nicht im Cache befindet, wird sie mithilfe der vorhandenen Implementierung(en) von IExtractImage oder IThumbnailProvider , die unter dem Betriebssystem registriert sind, automatisch aus der Quelldatei extrahiert. Ihre Anwendung muss keine Implementierung des Miniaturbildextraktors bereitstellen.
Wenn IThumbnailCache::GetThumbnail zurückgibt, empfängt der Parameter pThumbnailID eine WTS_THUMBNAILID Struktur, die die eindeutige ID der Miniaturansicht enthält. Wenn diese ID gespeichert wird, kann sie an IThumbnailCache::GetThumbnailByID übergeben werden, um die zwischengespeicherte Miniaturansicht abzurufen. Alternativ kann IThumbnailCache::GetThumbnail mit festgelegtem WTS_CACHEONLY-Flag aufgerufen werden. In diesem Fall wird eine Miniaturansicht nur zurückgegeben, wenn sie bereits zwischengespeichert ist. Der Nachteil der Verwendung von IThumbnailCache::GetThumbnail anstelle von IThumbnailCache::GetThumbnailByID besteht darin, dass weiterhin ein IShellItem bereitgestellt werden muss.
Mehrere Threads können verwendet werden, um auf den Miniaturansichtscache zuzugreifen, um die Leistung zu verbessern. IThumbnailCache::GetThumbnail kann in einem Thread mit höherer Priorität aufgerufen werden, wobei entweder das WTS_INCACHEONLY- oder das WTS_FASTEXTRACT-Flag festgelegt ist, sodass zwischengespeicherte Miniaturansichten sofort abgerufen werden. Wenn sich das Bild dann nicht im Cache befindet oder WTS_LOWQUALITY angibt, dass das zwischengespeicherte Bild nicht von optimaler Qualität war, kann ein Thread mit niedrigerer Priorität verwendet werden, um IThumbnailCache::GetThumbnail mit dem WTS_EXTRACT-Flag aufzurufen, sodass eine Miniaturansicht extrahiert werden kann.
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | thumbcache.h |