source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/thumbcache.h@ 1167

Last change on this file since 1167 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 23.1 KB
RevLine 
[1166]1/*** Autogenerated by WIDL 6.4 from include/thumbcache.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __thumbcache_h__
17#define __thumbcache_h__
18
19/* Forward declarations */
20
21#ifndef __ISharedBitmap_FWD_DEFINED__
22#define __ISharedBitmap_FWD_DEFINED__
23typedef interface ISharedBitmap ISharedBitmap;
24#ifdef __cplusplus
25interface ISharedBitmap;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IThumbnailCache_FWD_DEFINED__
30#define __IThumbnailCache_FWD_DEFINED__
31typedef interface IThumbnailCache IThumbnailCache;
32#ifdef __cplusplus
33interface IThumbnailCache;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __IThumbnailProvider_FWD_DEFINED__
38#define __IThumbnailProvider_FWD_DEFINED__
39typedef interface IThumbnailProvider IThumbnailProvider;
40#ifdef __cplusplus
41interface IThumbnailProvider;
42#endif /* __cplusplus */
43#endif
44
45#ifndef __IThumbnailSettings_FWD_DEFINED__
46#define __IThumbnailSettings_FWD_DEFINED__
47typedef interface IThumbnailSettings IThumbnailSettings;
48#ifdef __cplusplus
49interface IThumbnailSettings;
50#endif /* __cplusplus */
51#endif
52
53#ifndef __IThumbnailCachePrimer_FWD_DEFINED__
54#define __IThumbnailCachePrimer_FWD_DEFINED__
55typedef interface IThumbnailCachePrimer IThumbnailCachePrimer;
56#ifdef __cplusplus
57interface IThumbnailCachePrimer;
58#endif /* __cplusplus */
59#endif
60
61#ifndef __LocalThumbnailCache_FWD_DEFINED__
62#define __LocalThumbnailCache_FWD_DEFINED__
63#ifdef __cplusplus
64typedef class LocalThumbnailCache LocalThumbnailCache;
65#else
66typedef struct LocalThumbnailCache LocalThumbnailCache;
67#endif /* defined __cplusplus */
68#endif /* defined __LocalThumbnailCache_FWD_DEFINED__ */
69
70#ifndef __SharedBitmap_FWD_DEFINED__
71#define __SharedBitmap_FWD_DEFINED__
72#ifdef __cplusplus
73typedef class SharedBitmap SharedBitmap;
74#else
75typedef struct SharedBitmap SharedBitmap;
76#endif /* defined __cplusplus */
77#endif /* defined __SharedBitmap_FWD_DEFINED__ */
78
79/* Headers for imported files */
80
81#include <oaidl.h>
82#include <shtypes.h>
83#include <shobjidl.h>
84
85#ifdef __cplusplus
86extern "C" {
87#endif
88
89typedef enum WTS_FLAGS {
90 WTS_NONE = 0x0,
91 WTS_EXTRACT = 0x0,
92 WTS_INCACHEONLY = 0x1,
93 WTS_FASTEXTRACT = 0x2,
94 WTS_FORCEEXTRACTION = 0x4,
95 WTS_SLOWRECLAIM = 0x8,
96 WTS_EXTRACTDONOTCACHE = 0x20,
97 WTS_SCALETOREQUESTEDSIZE = 0x40,
98 WTS_SKIPFASTEXTRACT = 0x80,
99 WTS_EXTRACTINPROC = 0x100,
100 WTS_CROPTOSQUARE = 0x200,
101 WTS_INSTANCESURROGATE = 0x400,
102 WTS_REQUIRESURROGATE = 0x800,
103 WTS_APPSTYLE = 0x2000,
104 WTS_WIDETHUMBNAILS = 0x4000,
105 WTS_IDEALCACHESIZEONLY = 0x8000,
106 WTS_SCALEUP = 0x10000
107} WTS_FLAGS;
108DEFINE_ENUM_FLAG_OPERATORS(WTS_FLAGS)
109typedef enum WTS_CACHEFLAGS {
110 WTS_DEFAULT = 0x0,
111 WTS_LOWQUALITY = 0x1,
112 WTS_CACHED = 0x2
113} WTS_CACHEFLAGS;
114DEFINE_ENUM_FLAG_OPERATORS(WTS_CACHEFLAGS)
115typedef enum WTS_CONTEXTFLAGS {
116 WTSCF_DEFAULT = 0x0,
117 WTSCF_APPSTYLE = 0x1,
118 WTSCF_SQUARE = 0x2,
119 WTSCF_WIDE = 0x4,
120 WTSCF_FAST = 0x8
121} WTS_CONTEXTFLAGS;
122DEFINE_ENUM_FLAG_OPERATORS(WTS_CONTEXTFLAGS)
123typedef enum WTS_ALPHATYPE {
124 WTSAT_UNKNOWN = 0,
125 WTSAT_RGB = 1,
126 WTSAT_ARGB = 2
127} WTS_ALPHATYPE;
128typedef struct WTS_THUMBNAILID {
129 BYTE rgbKey[16];
130} WTS_THUMBNAILID;
131#define WTS_E_FAILEDEXTRACTION MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xb200)
132#define WTS_E_EXTRACTIONTIMEDOUT MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xb201)
133#define WTS_E_SURROGATEUNAVAILABLE MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xb202)
134#define WTS_E_FASTEXTRACTIONNOTSUPPORTED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xb203)
135#define WTS_E_DATAFILEUNAVAILABLE MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xb204)
136#define WTS_E_EXTRACTIONPENDING MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xb205)
137#define WTS_E_EXTRACTIONBLOCKED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xb206)
138/*****************************************************************************
139 * ISharedBitmap interface
140 */
141#ifndef __ISharedBitmap_INTERFACE_DEFINED__
142#define __ISharedBitmap_INTERFACE_DEFINED__
143
144DEFINE_GUID(IID_ISharedBitmap, 0x091162a4, 0xbc96, 0x411f, 0xaa,0xe8, 0xc5,0x12,0x2c,0xd0,0x33,0x63);
145#if defined(__cplusplus) && !defined(CINTERFACE)
146MIDL_INTERFACE("091162a4-bc96-411f-aae8-c5122cd03363")
147ISharedBitmap : public IUnknown
148{
149 virtual HRESULT STDMETHODCALLTYPE GetSharedBitmap(
150 HBITMAP *phbm) = 0;
151
152 virtual HRESULT STDMETHODCALLTYPE GetSize(
153 SIZE *pSize) = 0;
154
155 virtual HRESULT STDMETHODCALLTYPE GetFormat(
156 WTS_ALPHATYPE *pat) = 0;
157
158 virtual HRESULT STDMETHODCALLTYPE InitializeBitmap(
159 HBITMAP hbm,
160 WTS_ALPHATYPE wtsAT) = 0;
161
162 virtual HRESULT STDMETHODCALLTYPE Detach(
163 HBITMAP *phbm) = 0;
164
165};
166#ifdef __CRT_UUID_DECL
167__CRT_UUID_DECL(ISharedBitmap, 0x091162a4, 0xbc96, 0x411f, 0xaa,0xe8, 0xc5,0x12,0x2c,0xd0,0x33,0x63)
168#endif
169#else
170typedef struct ISharedBitmapVtbl {
171 BEGIN_INTERFACE
172
173 /*** IUnknown methods ***/
174 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
175 ISharedBitmap *This,
176 REFIID riid,
177 void **ppvObject);
178
179 ULONG (STDMETHODCALLTYPE *AddRef)(
180 ISharedBitmap *This);
181
182 ULONG (STDMETHODCALLTYPE *Release)(
183 ISharedBitmap *This);
184
185 /*** ISharedBitmap methods ***/
186 HRESULT (STDMETHODCALLTYPE *GetSharedBitmap)(
187 ISharedBitmap *This,
188 HBITMAP *phbm);
189
190 HRESULT (STDMETHODCALLTYPE *GetSize)(
191 ISharedBitmap *This,
192 SIZE *pSize);
193
194 HRESULT (STDMETHODCALLTYPE *GetFormat)(
195 ISharedBitmap *This,
196 WTS_ALPHATYPE *pat);
197
198 HRESULT (STDMETHODCALLTYPE *InitializeBitmap)(
199 ISharedBitmap *This,
200 HBITMAP hbm,
201 WTS_ALPHATYPE wtsAT);
202
203 HRESULT (STDMETHODCALLTYPE *Detach)(
204 ISharedBitmap *This,
205 HBITMAP *phbm);
206
207 END_INTERFACE
208} ISharedBitmapVtbl;
209
210interface ISharedBitmap {
211 CONST_VTBL ISharedBitmapVtbl* lpVtbl;
212};
213
214#ifdef COBJMACROS
215#ifndef WIDL_C_INLINE_WRAPPERS
216/*** IUnknown methods ***/
217#define ISharedBitmap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
218#define ISharedBitmap_AddRef(This) (This)->lpVtbl->AddRef(This)
219#define ISharedBitmap_Release(This) (This)->lpVtbl->Release(This)
220/*** ISharedBitmap methods ***/
221#define ISharedBitmap_GetSharedBitmap(This,phbm) (This)->lpVtbl->GetSharedBitmap(This,phbm)
222#define ISharedBitmap_GetSize(This,pSize) (This)->lpVtbl->GetSize(This,pSize)
223#define ISharedBitmap_GetFormat(This,pat) (This)->lpVtbl->GetFormat(This,pat)
224#define ISharedBitmap_InitializeBitmap(This,hbm,wtsAT) (This)->lpVtbl->InitializeBitmap(This,hbm,wtsAT)
225#define ISharedBitmap_Detach(This,phbm) (This)->lpVtbl->Detach(This,phbm)
226#else
227/*** IUnknown methods ***/
228static FORCEINLINE HRESULT ISharedBitmap_QueryInterface(ISharedBitmap* This,REFIID riid,void **ppvObject) {
229 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
230}
231static FORCEINLINE ULONG ISharedBitmap_AddRef(ISharedBitmap* This) {
232 return This->lpVtbl->AddRef(This);
233}
234static FORCEINLINE ULONG ISharedBitmap_Release(ISharedBitmap* This) {
235 return This->lpVtbl->Release(This);
236}
237/*** ISharedBitmap methods ***/
238static FORCEINLINE HRESULT ISharedBitmap_GetSharedBitmap(ISharedBitmap* This,HBITMAP *phbm) {
239 return This->lpVtbl->GetSharedBitmap(This,phbm);
240}
241static FORCEINLINE HRESULT ISharedBitmap_GetSize(ISharedBitmap* This,SIZE *pSize) {
242 return This->lpVtbl->GetSize(This,pSize);
243}
244static FORCEINLINE HRESULT ISharedBitmap_GetFormat(ISharedBitmap* This,WTS_ALPHATYPE *pat) {
245 return This->lpVtbl->GetFormat(This,pat);
246}
247static FORCEINLINE HRESULT ISharedBitmap_InitializeBitmap(ISharedBitmap* This,HBITMAP hbm,WTS_ALPHATYPE wtsAT) {
248 return This->lpVtbl->InitializeBitmap(This,hbm,wtsAT);
249}
250static FORCEINLINE HRESULT ISharedBitmap_Detach(ISharedBitmap* This,HBITMAP *phbm) {
251 return This->lpVtbl->Detach(This,phbm);
252}
253#endif
254#endif
255
256#endif
257
258
259#endif /* __ISharedBitmap_INTERFACE_DEFINED__ */
260
261/*****************************************************************************
262 * IThumbnailCache interface
263 */
264#ifndef __IThumbnailCache_INTERFACE_DEFINED__
265#define __IThumbnailCache_INTERFACE_DEFINED__
266
267DEFINE_GUID(IID_IThumbnailCache, 0xf676c15d, 0x596a, 0x4ce2, 0x82,0x34, 0x33,0x99,0x6f,0x44,0x5d,0xb1);
268#if defined(__cplusplus) && !defined(CINTERFACE)
269MIDL_INTERFACE("f676c15d-596a-4ce2-8234-33996f445db1")
270IThumbnailCache : public IUnknown
271{
272 virtual HRESULT STDMETHODCALLTYPE GetThumbnail(
273 IShellItem *pShellItem,
274 UINT cxyRequestedThumbSize,
275 WTS_FLAGS flags,
276 ISharedBitmap **ppvThumb,
277 WTS_CACHEFLAGS *pOutFlags,
278 WTS_THUMBNAILID *pThumbnailID) = 0;
279
280 virtual HRESULT STDMETHODCALLTYPE GetThumbnailByID(
281 WTS_THUMBNAILID thumbnailID,
282 UINT cxyRequestedThumbSize,
283 ISharedBitmap **ppvThumb,
284 WTS_CACHEFLAGS *pOutFlags) = 0;
285
286};
287#ifdef __CRT_UUID_DECL
288__CRT_UUID_DECL(IThumbnailCache, 0xf676c15d, 0x596a, 0x4ce2, 0x82,0x34, 0x33,0x99,0x6f,0x44,0x5d,0xb1)
289#endif
290#else
291typedef struct IThumbnailCacheVtbl {
292 BEGIN_INTERFACE
293
294 /*** IUnknown methods ***/
295 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
296 IThumbnailCache *This,
297 REFIID riid,
298 void **ppvObject);
299
300 ULONG (STDMETHODCALLTYPE *AddRef)(
301 IThumbnailCache *This);
302
303 ULONG (STDMETHODCALLTYPE *Release)(
304 IThumbnailCache *This);
305
306 /*** IThumbnailCache methods ***/
307 HRESULT (STDMETHODCALLTYPE *GetThumbnail)(
308 IThumbnailCache *This,
309 IShellItem *pShellItem,
310 UINT cxyRequestedThumbSize,
311 WTS_FLAGS flags,
312 ISharedBitmap **ppvThumb,
313 WTS_CACHEFLAGS *pOutFlags,
314 WTS_THUMBNAILID *pThumbnailID);
315
316 HRESULT (STDMETHODCALLTYPE *GetThumbnailByID)(
317 IThumbnailCache *This,
318 WTS_THUMBNAILID thumbnailID,
319 UINT cxyRequestedThumbSize,
320 ISharedBitmap **ppvThumb,
321 WTS_CACHEFLAGS *pOutFlags);
322
323 END_INTERFACE
324} IThumbnailCacheVtbl;
325
326interface IThumbnailCache {
327 CONST_VTBL IThumbnailCacheVtbl* lpVtbl;
328};
329
330#ifdef COBJMACROS
331#ifndef WIDL_C_INLINE_WRAPPERS
332/*** IUnknown methods ***/
333#define IThumbnailCache_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
334#define IThumbnailCache_AddRef(This) (This)->lpVtbl->AddRef(This)
335#define IThumbnailCache_Release(This) (This)->lpVtbl->Release(This)
336/*** IThumbnailCache methods ***/
337#define IThumbnailCache_GetThumbnail(This,pShellItem,cxyRequestedThumbSize,flags,ppvThumb,pOutFlags,pThumbnailID) (This)->lpVtbl->GetThumbnail(This,pShellItem,cxyRequestedThumbSize,flags,ppvThumb,pOutFlags,pThumbnailID)
338#define IThumbnailCache_GetThumbnailByID(This,thumbnailID,cxyRequestedThumbSize,ppvThumb,pOutFlags) (This)->lpVtbl->GetThumbnailByID(This,thumbnailID,cxyRequestedThumbSize,ppvThumb,pOutFlags)
339#else
340/*** IUnknown methods ***/
341static FORCEINLINE HRESULT IThumbnailCache_QueryInterface(IThumbnailCache* This,REFIID riid,void **ppvObject) {
342 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
343}
344static FORCEINLINE ULONG IThumbnailCache_AddRef(IThumbnailCache* This) {
345 return This->lpVtbl->AddRef(This);
346}
347static FORCEINLINE ULONG IThumbnailCache_Release(IThumbnailCache* This) {
348 return This->lpVtbl->Release(This);
349}
350/*** IThumbnailCache methods ***/
351static FORCEINLINE HRESULT IThumbnailCache_GetThumbnail(IThumbnailCache* This,IShellItem *pShellItem,UINT cxyRequestedThumbSize,WTS_FLAGS flags,ISharedBitmap **ppvThumb,WTS_CACHEFLAGS *pOutFlags,WTS_THUMBNAILID *pThumbnailID) {
352 return This->lpVtbl->GetThumbnail(This,pShellItem,cxyRequestedThumbSize,flags,ppvThumb,pOutFlags,pThumbnailID);
353}
354static FORCEINLINE HRESULT IThumbnailCache_GetThumbnailByID(IThumbnailCache* This,WTS_THUMBNAILID thumbnailID,UINT cxyRequestedThumbSize,ISharedBitmap **ppvThumb,WTS_CACHEFLAGS *pOutFlags) {
355 return This->lpVtbl->GetThumbnailByID(This,thumbnailID,cxyRequestedThumbSize,ppvThumb,pOutFlags);
356}
357#endif
358#endif
359
360#endif
361
362HRESULT STDMETHODCALLTYPE IThumbnailCache_RemoteGetThumbnail_Proxy(
363 IThumbnailCache* This,
364 IShellItem *pShellItem,
365 UINT cxyRequestedThumbSize,
366 WTS_FLAGS flags,
367 ISharedBitmap **ppvThumb,
368 WTS_CACHEFLAGS *pOutFlags,
369 WTS_THUMBNAILID *pThumbnailID);
370void __RPC_STUB IThumbnailCache_RemoteGetThumbnail_Stub(
371 IRpcStubBuffer* This,
372 IRpcChannelBuffer* pRpcChannelBuffer,
373 PRPC_MESSAGE pRpcMessage,
374 DWORD* pdwStubPhase);
375HRESULT STDMETHODCALLTYPE IThumbnailCache_RemoteGetThumbnailByID_Proxy(
376 IThumbnailCache* This,
377 WTS_THUMBNAILID thumbnailID,
378 UINT cxyRequestedThumbSize,
379 ISharedBitmap **ppvThumb,
380 WTS_CACHEFLAGS *pOutFlags);
381void __RPC_STUB IThumbnailCache_RemoteGetThumbnailByID_Stub(
382 IRpcStubBuffer* This,
383 IRpcChannelBuffer* pRpcChannelBuffer,
384 PRPC_MESSAGE pRpcMessage,
385 DWORD* pdwStubPhase);
386HRESULT CALLBACK IThumbnailCache_GetThumbnail_Proxy(
387 IThumbnailCache* This,
388 IShellItem *pShellItem,
389 UINT cxyRequestedThumbSize,
390 WTS_FLAGS flags,
391 ISharedBitmap **ppvThumb,
392 WTS_CACHEFLAGS *pOutFlags,
393 WTS_THUMBNAILID *pThumbnailID);
394HRESULT __RPC_STUB IThumbnailCache_GetThumbnail_Stub(
395 IThumbnailCache* This,
396 IShellItem *pShellItem,
397 UINT cxyRequestedThumbSize,
398 WTS_FLAGS flags,
399 ISharedBitmap **ppvThumb,
400 WTS_CACHEFLAGS *pOutFlags,
401 WTS_THUMBNAILID *pThumbnailID);
402HRESULT CALLBACK IThumbnailCache_GetThumbnailByID_Proxy(
403 IThumbnailCache* This,
404 WTS_THUMBNAILID thumbnailID,
405 UINT cxyRequestedThumbSize,
406 ISharedBitmap **ppvThumb,
407 WTS_CACHEFLAGS *pOutFlags);
408HRESULT __RPC_STUB IThumbnailCache_GetThumbnailByID_Stub(
409 IThumbnailCache* This,
410 WTS_THUMBNAILID thumbnailID,
411 UINT cxyRequestedThumbSize,
412 ISharedBitmap **ppvThumb,
413 WTS_CACHEFLAGS *pOutFlags);
414
415#endif /* __IThumbnailCache_INTERFACE_DEFINED__ */
416
417/*****************************************************************************
418 * IThumbnailProvider interface
419 */
420#ifndef __IThumbnailProvider_INTERFACE_DEFINED__
421#define __IThumbnailProvider_INTERFACE_DEFINED__
422
423DEFINE_GUID(IID_IThumbnailProvider, 0xe357fccd, 0xa995, 0x4576, 0xb0,0x1f, 0x23,0x46,0x30,0x15,0x4e,0x96);
424#if defined(__cplusplus) && !defined(CINTERFACE)
425MIDL_INTERFACE("e357fccd-a995-4576-b01f-234630154e96")
426IThumbnailProvider : public IUnknown
427{
428 virtual HRESULT STDMETHODCALLTYPE GetThumbnail(
429 UINT cx,
430 HBITMAP *phbmp,
431 WTS_ALPHATYPE *pdwAlpha) = 0;
432
433};
434#ifdef __CRT_UUID_DECL
435__CRT_UUID_DECL(IThumbnailProvider, 0xe357fccd, 0xa995, 0x4576, 0xb0,0x1f, 0x23,0x46,0x30,0x15,0x4e,0x96)
436#endif
437#else
438typedef struct IThumbnailProviderVtbl {
439 BEGIN_INTERFACE
440
441 /*** IUnknown methods ***/
442 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
443 IThumbnailProvider *This,
444 REFIID riid,
445 void **ppvObject);
446
447 ULONG (STDMETHODCALLTYPE *AddRef)(
448 IThumbnailProvider *This);
449
450 ULONG (STDMETHODCALLTYPE *Release)(
451 IThumbnailProvider *This);
452
453 /*** IThumbnailProvider methods ***/
454 HRESULT (STDMETHODCALLTYPE *GetThumbnail)(
455 IThumbnailProvider *This,
456 UINT cx,
457 HBITMAP *phbmp,
458 WTS_ALPHATYPE *pdwAlpha);
459
460 END_INTERFACE
461} IThumbnailProviderVtbl;
462
463interface IThumbnailProvider {
464 CONST_VTBL IThumbnailProviderVtbl* lpVtbl;
465};
466
467#ifdef COBJMACROS
468#ifndef WIDL_C_INLINE_WRAPPERS
469/*** IUnknown methods ***/
470#define IThumbnailProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
471#define IThumbnailProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
472#define IThumbnailProvider_Release(This) (This)->lpVtbl->Release(This)
473/*** IThumbnailProvider methods ***/
474#define IThumbnailProvider_GetThumbnail(This,cx,phbmp,pdwAlpha) (This)->lpVtbl->GetThumbnail(This,cx,phbmp,pdwAlpha)
475#else
476/*** IUnknown methods ***/
477static FORCEINLINE HRESULT IThumbnailProvider_QueryInterface(IThumbnailProvider* This,REFIID riid,void **ppvObject) {
478 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
479}
480static FORCEINLINE ULONG IThumbnailProvider_AddRef(IThumbnailProvider* This) {
481 return This->lpVtbl->AddRef(This);
482}
483static FORCEINLINE ULONG IThumbnailProvider_Release(IThumbnailProvider* This) {
484 return This->lpVtbl->Release(This);
485}
486/*** IThumbnailProvider methods ***/
487static FORCEINLINE HRESULT IThumbnailProvider_GetThumbnail(IThumbnailProvider* This,UINT cx,HBITMAP *phbmp,WTS_ALPHATYPE *pdwAlpha) {
488 return This->lpVtbl->GetThumbnail(This,cx,phbmp,pdwAlpha);
489}
490#endif
491#endif
492
493#endif
494
495
496#endif /* __IThumbnailProvider_INTERFACE_DEFINED__ */
497
498/*****************************************************************************
499 * IThumbnailSettings interface
500 */
501#ifndef __IThumbnailSettings_INTERFACE_DEFINED__
502#define __IThumbnailSettings_INTERFACE_DEFINED__
503
504DEFINE_GUID(IID_IThumbnailSettings, 0xf4376f00, 0xbef5, 0x4d45, 0x80,0xf3, 0x1e,0x02,0x3b,0xbf,0x12,0x09);
505#if defined(__cplusplus) && !defined(CINTERFACE)
506MIDL_INTERFACE("f4376f00-bef5-4d45-80f3-1e023bbf1209")
507IThumbnailSettings : public IUnknown
508{
509 virtual HRESULT STDMETHODCALLTYPE SetContext(
510 WTS_CONTEXTFLAGS dwContext) = 0;
511
512};
513#ifdef __CRT_UUID_DECL
514__CRT_UUID_DECL(IThumbnailSettings, 0xf4376f00, 0xbef5, 0x4d45, 0x80,0xf3, 0x1e,0x02,0x3b,0xbf,0x12,0x09)
515#endif
516#else
517typedef struct IThumbnailSettingsVtbl {
518 BEGIN_INTERFACE
519
520 /*** IUnknown methods ***/
521 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
522 IThumbnailSettings *This,
523 REFIID riid,
524 void **ppvObject);
525
526 ULONG (STDMETHODCALLTYPE *AddRef)(
527 IThumbnailSettings *This);
528
529 ULONG (STDMETHODCALLTYPE *Release)(
530 IThumbnailSettings *This);
531
532 /*** IThumbnailSettings methods ***/
533 HRESULT (STDMETHODCALLTYPE *SetContext)(
534 IThumbnailSettings *This,
535 WTS_CONTEXTFLAGS dwContext);
536
537 END_INTERFACE
538} IThumbnailSettingsVtbl;
539
540interface IThumbnailSettings {
541 CONST_VTBL IThumbnailSettingsVtbl* lpVtbl;
542};
543
544#ifdef COBJMACROS
545#ifndef WIDL_C_INLINE_WRAPPERS
546/*** IUnknown methods ***/
547#define IThumbnailSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
548#define IThumbnailSettings_AddRef(This) (This)->lpVtbl->AddRef(This)
549#define IThumbnailSettings_Release(This) (This)->lpVtbl->Release(This)
550/*** IThumbnailSettings methods ***/
551#define IThumbnailSettings_SetContext(This,dwContext) (This)->lpVtbl->SetContext(This,dwContext)
552#else
553/*** IUnknown methods ***/
554static FORCEINLINE HRESULT IThumbnailSettings_QueryInterface(IThumbnailSettings* This,REFIID riid,void **ppvObject) {
555 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
556}
557static FORCEINLINE ULONG IThumbnailSettings_AddRef(IThumbnailSettings* This) {
558 return This->lpVtbl->AddRef(This);
559}
560static FORCEINLINE ULONG IThumbnailSettings_Release(IThumbnailSettings* This) {
561 return This->lpVtbl->Release(This);
562}
563/*** IThumbnailSettings methods ***/
564static FORCEINLINE HRESULT IThumbnailSettings_SetContext(IThumbnailSettings* This,WTS_CONTEXTFLAGS dwContext) {
565 return This->lpVtbl->SetContext(This,dwContext);
566}
567#endif
568#endif
569
570#endif
571
572
573#endif /* __IThumbnailSettings_INTERFACE_DEFINED__ */
574
575/*****************************************************************************
576 * IThumbnailCachePrimer interface
577 */
578#ifndef __IThumbnailCachePrimer_INTERFACE_DEFINED__
579#define __IThumbnailCachePrimer_INTERFACE_DEFINED__
580
581DEFINE_GUID(IID_IThumbnailCachePrimer, 0x0f03f8fe, 0x2b26, 0x46f0, 0x96,0x5a, 0x21,0x2a,0xa8,0xd6,0x6b,0x76);
582#if defined(__cplusplus) && !defined(CINTERFACE)
583MIDL_INTERFACE("0f03f8fe-2b26-46f0-965a-212aa8d66b76")
584IThumbnailCachePrimer : public IUnknown
585{
586 virtual HRESULT STDMETHODCALLTYPE PageInThumbnail(
587 IShellItem *psi,
588 WTS_FLAGS wtsFlags,
589 UINT cxyRequestedThumbSize) = 0;
590
591};
592#ifdef __CRT_UUID_DECL
593__CRT_UUID_DECL(IThumbnailCachePrimer, 0x0f03f8fe, 0x2b26, 0x46f0, 0x96,0x5a, 0x21,0x2a,0xa8,0xd6,0x6b,0x76)
594#endif
595#else
596typedef struct IThumbnailCachePrimerVtbl {
597 BEGIN_INTERFACE
598
599 /*** IUnknown methods ***/
600 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
601 IThumbnailCachePrimer *This,
602 REFIID riid,
603 void **ppvObject);
604
605 ULONG (STDMETHODCALLTYPE *AddRef)(
606 IThumbnailCachePrimer *This);
607
608 ULONG (STDMETHODCALLTYPE *Release)(
609 IThumbnailCachePrimer *This);
610
611 /*** IThumbnailCachePrimer methods ***/
612 HRESULT (STDMETHODCALLTYPE *PageInThumbnail)(
613 IThumbnailCachePrimer *This,
614 IShellItem *psi,
615 WTS_FLAGS wtsFlags,
616 UINT cxyRequestedThumbSize);
617
618 END_INTERFACE
619} IThumbnailCachePrimerVtbl;
620
621interface IThumbnailCachePrimer {
622 CONST_VTBL IThumbnailCachePrimerVtbl* lpVtbl;
623};
624
625#ifdef COBJMACROS
626#ifndef WIDL_C_INLINE_WRAPPERS
627/*** IUnknown methods ***/
628#define IThumbnailCachePrimer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
629#define IThumbnailCachePrimer_AddRef(This) (This)->lpVtbl->AddRef(This)
630#define IThumbnailCachePrimer_Release(This) (This)->lpVtbl->Release(This)
631/*** IThumbnailCachePrimer methods ***/
632#define IThumbnailCachePrimer_PageInThumbnail(This,psi,wtsFlags,cxyRequestedThumbSize) (This)->lpVtbl->PageInThumbnail(This,psi,wtsFlags,cxyRequestedThumbSize)
633#else
634/*** IUnknown methods ***/
635static FORCEINLINE HRESULT IThumbnailCachePrimer_QueryInterface(IThumbnailCachePrimer* This,REFIID riid,void **ppvObject) {
636 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
637}
638static FORCEINLINE ULONG IThumbnailCachePrimer_AddRef(IThumbnailCachePrimer* This) {
639 return This->lpVtbl->AddRef(This);
640}
641static FORCEINLINE ULONG IThumbnailCachePrimer_Release(IThumbnailCachePrimer* This) {
642 return This->lpVtbl->Release(This);
643}
644/*** IThumbnailCachePrimer methods ***/
645static FORCEINLINE HRESULT IThumbnailCachePrimer_PageInThumbnail(IThumbnailCachePrimer* This,IShellItem *psi,WTS_FLAGS wtsFlags,UINT cxyRequestedThumbSize) {
646 return This->lpVtbl->PageInThumbnail(This,psi,wtsFlags,cxyRequestedThumbSize);
647}
648#endif
649#endif
650
651#endif
652
653
654#endif /* __IThumbnailCachePrimer_INTERFACE_DEFINED__ */
655
656#ifndef __ThumbCacheLib_LIBRARY_DEFINED__
657#define __ThumbCacheLib_LIBRARY_DEFINED__
658
659DEFINE_GUID(LIBID_ThumbCacheLib, 0x4c857096, 0x0514, 0x4d4d, 0xab,0xd5, 0xdf,0xaa,0xa3,0xc3,0x26,0xd2);
660
661/*****************************************************************************
662 * LocalThumbnailCache coclass
663 */
664
665DEFINE_GUID(CLSID_LocalThumbnailCache, 0x50ef4544, 0xac9f, 0x4a8e, 0xb2,0x1b, 0x8a,0x26,0x18,0x0d,0xb1,0x3f);
666
667#ifdef __cplusplus
668class DECLSPEC_UUID("50ef4544-ac9f-4a8e-b21b-8a26180db13f") LocalThumbnailCache;
669#ifdef __CRT_UUID_DECL
670__CRT_UUID_DECL(LocalThumbnailCache, 0x50ef4544, 0xac9f, 0x4a8e, 0xb2,0x1b, 0x8a,0x26,0x18,0x0d,0xb1,0x3f)
671#endif
672#endif
673
674/*****************************************************************************
675 * SharedBitmap coclass
676 */
677
678DEFINE_GUID(CLSID_SharedBitmap, 0x4db26476, 0x6787, 0x4046, 0xb8,0x36, 0xe8,0x41,0x2a,0x9e,0x8a,0x27);
679
680#ifdef __cplusplus
681class DECLSPEC_UUID("4db26476-6787-4046-b836-e8412a9e8a27") SharedBitmap;
682#ifdef __CRT_UUID_DECL
683__CRT_UUID_DECL(SharedBitmap, 0x4db26476, 0x6787, 0x4046, 0xb8,0x36, 0xe8,0x41,0x2a,0x9e,0x8a,0x27)
684#endif
685#endif
686
687#endif /* __ThumbCacheLib_LIBRARY_DEFINED__ */
688/* Begin additional prototypes for all interfaces */
689
690ULONG __RPC_USER HBITMAP_UserSize (ULONG *, ULONG, HBITMAP *);
691unsigned char * __RPC_USER HBITMAP_UserMarshal (ULONG *, unsigned char *, HBITMAP *);
692unsigned char * __RPC_USER HBITMAP_UserUnmarshal(ULONG *, unsigned char *, HBITMAP *);
693void __RPC_USER HBITMAP_UserFree (ULONG *, HBITMAP *);
694
695/* End additional prototypes */
696
697#ifdef __cplusplus
698}
699#endif
700
701#endif /* __thumbcache_h__ */
Note: See TracBrowser for help on using the repository browser.