Interfaz IThumbnailCache (thumbcache.h)
Expone métodos para una memoria caché de miniaturas del sistema que se comparte entre aplicaciones.
Herencia
La interfaz IThumbnailCache hereda de la interfaz IUnknown . IThumbnailCache también tiene estos tipos de miembros:
Métodos
La interfaz IThumbnailCache tiene estos métodos.
IThumbnailCache::GetThumbnail Obtiene una miniatura almacenada en caché para un elemento shell determinado. |
IThumbnailCache::GetThumbnailByID Obtiene una miniatura de la memoria caché de miniaturas, dada su identificador. |
Comentarios
Thumbnail Cache API está diseñado para proporcionar a las aplicaciones un método unificado para recuperar y almacenar en caché miniaturas. En Windows XP, el almacenamiento en caché de miniaturas se realiza por carpeta y la memoria caché se mantiene en un archivo Thumbs.db dentro de cada carpeta. Aunque este enfoque proporciona localidad espacial, no admite vistas previas ni consultas entre carpetas. La memoria caché de miniaturas de Windows Vista aborda esta falta proporcionando una caché global.
Para almacenar en caché una miniatura, una aplicación debe obtener primero un IShellItem que represente el elemento para el que se obtendrá una miniatura y, a continuación, pasar IShellItem a una llamada a IThumbnailCache::GetThumbnail. Si el parámetro flags de IThumbnailCache::GetThumbnail incluye la marca WTS_EXTRACT y la miniatura aún no está almacenada en caché, se extraerá una miniatura y se colocará en la memoria caché. Si se establece la marca WTS_FORCEEXTRACTION, la memoria caché se omite y siempre se extrae una nueva miniatura. Consulte el tema IThumbnailCache::GetThumbnail para obtener más detalles sobre las marcas pasadas a IThumbnailCache::GetThumbnail.
Si una miniatura aún no está en la memoria caché, se extraerá automáticamente del archivo de origen mediante las implementaciones existentes de IExtractImage o IThumbnailProvider que está registrada en el sistema operativo. La aplicación no tiene que proporcionar una implementación del extractor de miniaturas.
Cuando devuelve IThumbnailCache::GetThumbnail , su parámetro pThumbnailID recibe una estructura WTS_THUMBNAILID que contiene el identificador único de la miniatura. Si se guarda este identificador, se puede pasar a IThumbnailCache::GetThumbnailByID para recuperar la miniatura almacenada en caché. Como alternativa, se puede llamar a IThumbnailCache::GetThumbnail con la marca WTS_CACHEONLY establecida. En este caso, solo se devolverá una miniatura si ya está almacenada en caché. La desventaja de usar IThumbnailCache::GetThumbnail en lugar de IThumbnailCache::GetThumbnailByID, es que se debe proporcionar un IShellItem .
Se pueden usar varios subprocesos para acceder a la memoria caché de miniaturas para mejorar el rendimiento. Se puede llamar a IThumbnailCache::GetThumbnail en un subproceso de prioridad más alta con el WTS_INCACHEONLY o el conjunto de marcas WTS_FASTEXTRACT, de modo que las miniaturas almacenadas en caché se recuperen inmediatamente. A continuación, si la imagen no está en la memoria caché o WTS_LOWQUALITY indica que la imagen almacenada en caché no era de calidad ideal, se puede usar un subproceso de prioridad inferior para llamar a IThumbnailCache::GetThumbnail con la marca WTS_EXTRACT establecida, de modo que se pueda extraer una miniatura.
Requisitos
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | thumbcache.h |