[PATCH] include: update thumbcache.idl file

Biswapriyo Nath nathbappai at gmail.com
Wed Jan 22 06:52:55 CST 2020


-------------- next part --------------
From 9e445c4e40171b74b74206248e53cca8fbcf55f6 Mon Sep 17 00:00:00 2001
From: Biswapriyo Nath <nathbappai at gmail.com>
Date: Thu, 22 Jan 2019 07:00:00 +0530
Subject: [PATCH] include: update thumbcache.idl file

Signed-off-by: Biswapriyo Nath <nathbappai at gmail.com>
---
 include/thumbcache.idl | 137 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 137 insertions(+)

diff --git a/include/thumbcache.idl b/include/thumbcache.idl
index f79d879..38cf23d 100644
--- a/include/thumbcache.idl
+++ b/include/thumbcache.idl
@@ -18,6 +18,7 @@
 
 import "oaidl.idl";
 import "shtypes.idl";
+import "shobjidl.idl";
 
 typedef [v1_enum] enum WTS_FLAGS
 {
@@ -40,9 +41,145 @@ typedef [v1_enum] enum WTS_FLAGS
     WTS_SCALEUP              = 0x00010000,
 } WTS_FLAGS;
 
+cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(WTS_FLAGS)")
+
+typedef [v1_enum] enum WTS_CACHEFLAGS
+{
+    WTS_DEFAULT     = 0x00000000,
+    WTS_LOWQUALITY  = 0x00000001,
+    WTS_CACHED      = 0x00000002,
+} WTS_CACHEFLAGS;
+
+cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(WTS_CACHEFLAGS)")
+
+typedef [v1_enum] enum WTS_CONTEXTFLAGS
+{
+    WTSCF_DEFAULT       = 0x00000000,
+    WTSCF_APPSTYLE      = 0x00000001,
+    WTSCF_SQUARE        = 0x00000002,
+    WTSCF_WIDE          = 0x00000004,
+    WTSCF_FAST          = 0x00000008,
+} WTS_CONTEXTFLAGS;
+
+cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(WTS_CONTEXTFLAGS)")
+
 typedef [v1_enum] enum WTS_ALPHATYPE
 {
     WTSAT_UNKNOWN = 0,
     WTSAT_RGB     = 1,
     WTSAT_ARGB    = 2
 } WTS_ALPHATYPE;
+
+typedef struct WTS_THUMBNAILID
+{
+    BYTE rgbKey[16];
+} WTS_THUMBNAILID;
+
+
+cpp_quote("#define WTS_E_FAILEDEXTRACTION MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xb200)")
+cpp_quote("#define WTS_E_EXTRACTIONTIMEDOUT MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xb201)")
+cpp_quote("#define WTS_E_SURROGATEUNAVAILABLE MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xb202)")
+cpp_quote("#define WTS_E_FASTEXTRACTIONNOTSUPPORTED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xb203)")
+cpp_quote("#define WTS_E_DATAFILEUNAVAILABLE MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xb204)")
+cpp_quote("#define WTS_E_EXTRACTIONPENDING MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xb205)")
+cpp_quote("#define WTS_E_EXTRACTIONBLOCKED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xb206)")
+
+[
+    uuid(091162a4-bc96-411f-aae8-c5122cd03363),
+    pointer_default(unique),
+]
+interface ISharedBitmap : IUnknown
+{
+    HRESULT GetSharedBitmap([out] HBITMAP *phbm);
+    HRESULT GetSize([out] SIZE *pSize);
+    HRESULT GetFormat([out] WTS_ALPHATYPE *pat);
+    HRESULT InitializeBitmap([in] HBITMAP hbm, [in] WTS_ALPHATYPE wtsAT);
+    HRESULT Detach([out] HBITMAP *phbm);
+}
+
+[
+    object,
+    uuid(f676c15d-596a-4ce2-8234-33996f445db1),
+]
+interface IThumbnailCache : IUnknown
+{
+    [local]
+    HRESULT GetThumbnail([in] IShellItem *pShellItem,
+                         [in] UINT cxyRequestedThumbSize,
+                         [in] WTS_FLAGS flags,
+                         [out, unique] ISharedBitmap **ppvThumb,
+                         [out, unique] WTS_CACHEFLAGS *pOutFlags,
+                         [out, unique] WTS_THUMBNAILID *pThumbnailID);
+
+    [call_as(GetThumbnail)]
+    HRESULT RemoteGetThumbnail([in] IShellItem *pShellItem,
+                               [in] UINT cxyRequestedThumbSize,
+                               [in] WTS_FLAGS flags,
+                               [out] ISharedBitmap **ppvThumb,
+                               [out] WTS_CACHEFLAGS *pOutFlags,
+                               [out] WTS_THUMBNAILID *pThumbnailID);
+
+    [local]
+    HRESULT GetThumbnailByID([in] WTS_THUMBNAILID thumbnailID,
+                             [in] UINT cxyRequestedThumbSize,
+                             [out, unique] ISharedBitmap **ppvThumb,
+                             [out, unique] WTS_CACHEFLAGS *pOutFlags);
+
+    [call_as(GetThumbnailByID)]
+    HRESULT RemoteGetThumbnailByID([in] WTS_THUMBNAILID thumbnailID,
+                                   [in] UINT cxyRequestedThumbSize,
+                                   [out] ISharedBitmap **ppvThumb,
+                                   [out] WTS_CACHEFLAGS *pOutFlags);
+}
+
+[
+    uuid(e357fccd-a995-4576-b01f-234630154e96),
+]
+interface IThumbnailProvider : IUnknown
+{
+    HRESULT GetThumbnail([in] UINT cx,
+                         [out] HBITMAP *phbmp,
+                         [out] WTS_ALPHATYPE *pdwAlpha);
+}
+
+[
+    uuid(f4376f00-bef5-4d45-80f3-1e023bbf1209),
+]
+interface IThumbnailSettings : IUnknown
+{
+    HRESULT SetContext([in] WTS_CONTEXTFLAGS dwContext);
+}
+
+[
+    uuid(0f03f8fe-2b26-46f0-965a-212aa8d66b76),
+    object,
+    pointer_default(unique)
+]
+interface IThumbnailCachePrimer : IUnknown
+{
+    HRESULT PageInThumbnail([in] IShellItem *psi,
+                            [in] WTS_FLAGS wtsFlags,
+                            [in] UINT cxyRequestedThumbSize);
+}
+
+[
+    uuid(4c857096-0514-4d4d-abd5-dfaaa3c326d2)
+]
+library ThumbCacheLib
+{
+    [
+        uuid(50ef4544-ac9f-4a8e-b21b-8a26180db13f)
+    ]
+    coclass LocalThumbnailCache
+    {
+        interface IThumbnailCache;
+    }
+
+    [
+        uuid(4db26476-6787-4046-b836-e8412a9e8a27)
+    ]
+    coclass SharedBitmap
+    {
+        interface ISharedBitmap;
+    }
+}
-- 
2.24.0



More information about the wine-devel mailing list