cpp_quote("#include ") #pragma region App Family cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") import "oaidl.idl"; import "shtypes.idl"; import "shobjidl_core.idl"; typedef[v1_enum] enum ThumbnailStreamCacheOptions { ExtractIfNotCached = 0x00000000, ReturnOnlyIfCached = 0x00000001, ResizeThumbnail = 0x00000002, // resize to match the requested size AllowSmallerSize = 0x00000004, // can return a cached thumbnail that is smaller than the requested size. } ThumbnailStreamCacheOptions; cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(ThumbnailStreamCacheOptions)") [ object, uuid(90E11430-9569-41D8-AE75-6D4D2AE7CCA0), ] interface IThumbnailStreamCache : IUnknown { HRESULT GetThumbnailStream( [in] LPCWSTR path, [in] ULONGLONG cacheId, [in] ThumbnailStreamCacheOptions options, [in] UINT requestedThumbnailSize, [out] SIZE* thumbnailSize, [out] IStream** thumbnailStream); HRESULT SetThumbnailStream( [in] LPCWSTR path, [in] ULONGLONG cacheId, [in] SIZE thumbnailSize, [in] IStream* thumbnailStream); } [uuid(9D49A788-67A0-4E64-A49F-C092298FCAAE)] library ThumbnailStreamCacheLib { // Thumbnail Stream Cache [uuid(CBE0FED3-4B91-4E90-8354-8A8C84EC6872)] coclass ThumbnailStreamCache { interface IThumbnailStreamCache; } } cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */") #pragma endregion