IThumbnailCache 인터페이스(thumbcache.h)
애플리케이션 간에 공유되는 시스템 미리 보기 캐시에 대한 메서드를 노출합니다.
상속
IThumbnailCache 인터페이스는 IUnknown 인터페이스에서 상속됩니다. IThumbnailCache 에는 다음과 같은 유형의 멤버도 있습니다.
메서드
IThumbnailCache 인터페이스에는 이러한 메서드가 있습니다.
IThumbnailCache::GetThumbnail 지정된 셸 항목에 대해 캐시된 썸네일을 가져옵니다. |
IThumbnailCache::GetThumbnailByID ID가 지정된 경우 썸네일 캐시에서 썸네일을 가져옵니다. |
설명
썸네일 캐시 API는 썸네일을 검색하고 캐시하는 통합 메서드를 애플리케이션에 제공하도록 설계되었습니다. Windows XP에서 썸네일 캐싱은 폴더별로 수행되며 캐시는 각 폴더 내의 Thumbs.db 파일에 유지 관리됩니다. 이 방법은 공간 지역성을 제공하지만 폴더 간 미리 보기 및 쿼리를 지원하지 않습니다. Windows Vista의 썸네일 캐시는 전역 캐시를 제공하여 이러한 단점을 해결합니다.
썸네일을 캐시하려면 먼저 썸네일을 가져올 항목을 나타내는 IShellItem 을 가져온 다음 IShellItem 을 IThumbnailCache::GetThumbnail 호출에 전달해야 합니다. IThumbnailCache::GetThumbnail에 대한 flags 매개 변수에 플래그 WTS_EXTRACT 포함되어 있고 미리 보기가 아직 캐시되지 않은 경우 미리 보기가 추출되어 캐시에 배치됩니다. 플래그 WTS_FORCEEXTRACTION 설정되면 캐시가 무시되고 새 미리 보기가 항상 추출됩니다. IThumbnailCache::GetThumbnail에 전달된 플래그에 대한 자세한 내용은 IThumbnailCache::GetThumbnail 항목을 참조하세요.
썸네일이 캐시에 아직 없는 경우 운영 체제에 등록된 IExtractImage 또는 IThumbnailProvider 의 기존 구현을 사용하여 원본 파일에서 자동으로 추출됩니다. 애플리케이션은 썸네일 추출기의 구현을 제공할 필요가 없습니다.
IThumbnailCache::GetThumbnail이 반환되면 pThumbnailID 매개 변수는 썸네일의 고유 ID를 포함하는 WTS_THUMBNAILID 구조를 받습니다. 이 ID가 저장되면 IThumbnailCache::GetThumbnailByID 에 전달하여 캐시된 썸네일을 검색할 수 있습니다. 또는 WTS_CACHEONLY 플래그 집합을 사용하여 IThumbnailCache::GetThumbnail 을 호출할 수 있습니다. 이 경우 미리 보기는 이미 캐시된 경우에만 반환됩니다. IThumbnailCache::GetThumbnailByID 대신 IThumbnailCache::GetThumbnailByID를 사용하는 경우의 단점은 IShellItem을 계속 제공해야 한다는 것입니다.
여러 스레드를 사용하여 썸네일 캐시에 액세스하여 성능을 향상시킬 수 있습니다. IThumbnailCache::GetThumbnail 은 캐시된 썸네일이 즉시 검색되도록 WTS_INCACHEONLY 또는 WTS_FASTEXTRACT 플래그가 설정된 더 높은 우선 순위 스레드에서 호출될 수 있습니다. 그런 다음 이미지가 캐시에 없거나 캐시된 이미지가 이상적인 품질이 아님을 나타내는 WTS_LOWQUALITY 썸네일을 추출할 수 있도록 우선 순위가 낮은 스레드를 사용하여 WTS_EXTRACT 플래그 집합으로 IThumbnailCache::GetThumbnail 을 호출할 수 있습니다.
요구 사항
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | thumbcache.h |