1 /*** Autogenerated by WIDL 6.4 from include/commoncontrols.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 __commoncontrols_h__
17 #define __commoncontrols_h__
18 
19 /* Forward declarations */
20 
21 #ifndef __IImageList_FWD_DEFINED__
22 #define __IImageList_FWD_DEFINED__
23 typedef interface IImageList IImageList;
24 #ifdef __cplusplus
25 interface IImageList;
26 #endif /* __cplusplus */
27 #endif
28 
29 #ifndef __IImageList2_FWD_DEFINED__
30 #define __IImageList2_FWD_DEFINED__
31 typedef interface IImageList2 IImageList2;
32 #ifdef __cplusplus
33 interface IImageList2;
34 #endif /* __cplusplus */
35 #endif
36 
37 #ifndef __ImageList_FWD_DEFINED__
38 #define __ImageList_FWD_DEFINED__
39 #ifdef __cplusplus
40 typedef class ImageList ImageList;
41 #else
42 typedef struct ImageList ImageList;
43 #endif /* defined __cplusplus */
44 #endif /* defined __ImageList_FWD_DEFINED__ */
45 
46 /* Headers for imported files */
47 
48 #include <oaidl.h>
49 #include <ocidl.h>
50 
51 #ifdef __cplusplus
52 extern "C" {
53 #endif
54 
55 /**
56  * This file is part of the mingw-w64 runtime package.
57  * No warranty is given; refer to the file DISCLAIMER within this package.
58  */
59 #include <winapifamily.h>
60 
61 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
62 #ifndef WINCOMMCTRLAPI
63 #ifndef _COMCTL32_
64 #define WINCOMMCTRLAPI DECLSPEC_IMPORT
65 #else
66 #define WINCOMMCTRLAPI
67 #endif
68 #endif
69 
70 #ifdef __WIDL__
71 typedef DWORD RGBQUAD;
72 typedef IUnknown *HIMAGELIST;
73 typedef struct _IMAGELIST *HIMAGELIST;
74 typedef struct _IMAGELISTDRAWPARAMS {
75     DWORD cbSize;
76     HIMAGELIST himl;
77     int i;
78     HDC hdcDst;
79     int x;
80     int y;
81     int cx;
82     int cy;
83     int xBitmap;
84     int yBitmap;
85     COLORREF rgbBk;
86     COLORREF rgbFg;
87     UINT fStyle;
88     DWORD dwRop;
89     DWORD fState;
90     DWORD Frame;
91     COLORREF crEffect;
92 } IMAGELISTDRAWPARAMS;
93 typedef IMAGELISTDRAWPARAMS *LPIMAGELISTDRAWPARAMS;
94 typedef struct tagIMAGEINFO {
95     HBITMAP hbmImage;
96     HBITMAP hbmMask;
97     int Unused1;
98     int Unused2;
99     RECT rcImage;
100 } IMAGEINFO;
101 typedef IMAGEINFO *LPIMAGEINFO;
102 #endif
103 
104 #define ILIF_ALPHA 0x1
105 #define ILIF_LOWQUALITY 0x2
106 
107 #define ILDRF_IMAGELOWQUALITY 0x1
108 #define ILDRF_OVERLAYLOWQUALITY 0x10
109 
110 #define ILR_DEFAULT 0x0
111 #define ILR_HORIZONTAL_LEFT  0x0
112 #define ILR_HORIZONTAL_CENTER 0x1
113 #define ILR_HORIZONTAL_RIGHT 0x2
114 #define ILR_VERTICAL_TOP 0x0
115 #define ILR_VERTICAL_CENTER 0x10
116 #define ILR_VERTICAL_BOTTOM 0x20
117 #define ILR_SCALE_CLIP               0x0
118 #define ILR_SCALE_ASPECTRATIO        0x100
119 
120 #define ILGOS_ALWAYS 0x0
121 #define ILGOS_FROMSTANDBY 0x1
122 
123 #define ILFIP_ALWAYS 0x0
124 #define ILFIP_FROMSTANDBY 0x1
125 
126 #define ILDI_PURGE 0x1
127 #define ILDI_STANDBY 0x2
128 #define ILDI_RESETACCESS 0x4
129 #define ILDI_QUERYACCESS 0x8
130 
131 #if NTDDI_VERSION >= 0x06000000
132 WINCOMMCTRLAPI HRESULT WINAPI ImageList_CoCreateInstance (REFCLSID rclsid, const IUnknown *punkOuter, REFIID riid, void **ppv);
133 #endif
134 typedef struct tagIMAGELISTSTATS {
135     DWORD cbSize;
136     int cAlloc;
137     int cUsed;
138     int cStandby;
139 } IMAGELISTSTATS;
140 /*****************************************************************************
141  * IImageList interface
142  */
143 #ifndef __IImageList_INTERFACE_DEFINED__
144 #define __IImageList_INTERFACE_DEFINED__
145 
146 DEFINE_GUID(IID_IImageList, 0x46eb5926, 0x582e, 0x4017, 0x9f,0xdf, 0xe8,0x99,0x8d,0xaa,0x09,0x50);
147 #if defined(__cplusplus) && !defined(CINTERFACE)
148 MIDL_INTERFACE("46eb5926-582e-4017-9fdf-e8998daa0950")
149 IImageList : public IUnknown
150 {
151     virtual HRESULT STDMETHODCALLTYPE Add(
152         HBITMAP hbmImage,
153         HBITMAP hbmMask,
154         int *pi) = 0;
155 
156     virtual HRESULT STDMETHODCALLTYPE ReplaceIcon(
157         int i,
158         HICON hicon,
159         int *pi) = 0;
160 
161     virtual HRESULT STDMETHODCALLTYPE SetOverlayImage(
162         int iImage,
163         int iOverlay) = 0;
164 
165     virtual HRESULT STDMETHODCALLTYPE Replace(
166         int i,
167         HBITMAP hbmImage,
168         HBITMAP hbmMask) = 0;
169 
170     virtual HRESULT STDMETHODCALLTYPE AddMasked(
171         HBITMAP hbmImage,
172         COLORREF crMask,
173         int *pi) = 0;
174 
175     virtual HRESULT STDMETHODCALLTYPE Draw(
176         IMAGELISTDRAWPARAMS *pimldp) = 0;
177 
178     virtual HRESULT STDMETHODCALLTYPE Remove(
179         int i) = 0;
180 
181     virtual HRESULT STDMETHODCALLTYPE GetIcon(
182         int i,
183         UINT flags,
184         HICON *picon) = 0;
185 
186     virtual HRESULT STDMETHODCALLTYPE GetImageInfo(
187         int i,
188         IMAGEINFO *pImageInfo) = 0;
189 
190     virtual HRESULT STDMETHODCALLTYPE Copy(
191         int iDst,
192         IUnknown *punkSrc,
193         int iSrc,
194         UINT uFlags) = 0;
195 
196     virtual HRESULT STDMETHODCALLTYPE Merge(
197         int i1,
198         IUnknown *punk2,
199         int i2,
200         int dx,
201         int dy,
202         REFIID riid,
203         void **ppv) = 0;
204 
205     virtual HRESULT STDMETHODCALLTYPE Clone(
206         REFIID riid,
207         void **ppv) = 0;
208 
209     virtual HRESULT STDMETHODCALLTYPE GetImageRect(
210         int i,
211         RECT *prc) = 0;
212 
213     virtual HRESULT STDMETHODCALLTYPE GetIconSize(
214         int *cx,
215         int *cy) = 0;
216 
217     virtual HRESULT STDMETHODCALLTYPE SetIconSize(
218         int cx,
219         int cy) = 0;
220 
221     virtual HRESULT STDMETHODCALLTYPE GetImageCount(
222         int *pi) = 0;
223 
224     virtual HRESULT STDMETHODCALLTYPE SetImageCount(
225         UINT uNewCount) = 0;
226 
227     virtual HRESULT STDMETHODCALLTYPE SetBkColor(
228         COLORREF clrBk,
229         COLORREF *pclr) = 0;
230 
231     virtual HRESULT STDMETHODCALLTYPE GetBkColor(
232         COLORREF *pclr) = 0;
233 
234     virtual HRESULT STDMETHODCALLTYPE BeginDrag(
235         int iTrack,
236         int dxHotspot,
237         int dyHotspot) = 0;
238 
239     virtual HRESULT STDMETHODCALLTYPE EndDrag(
240         ) = 0;
241 
242     virtual HRESULT STDMETHODCALLTYPE DragEnter(
243         HWND hwndLock,
244         int x,
245         int y) = 0;
246 
247     virtual HRESULT STDMETHODCALLTYPE DragLeave(
248         HWND hwndLock) = 0;
249 
250     virtual HRESULT STDMETHODCALLTYPE DragMove(
251         int x,
252         int y) = 0;
253 
254     virtual HRESULT STDMETHODCALLTYPE SetDragCursorImage(
255         IUnknown *punk,
256         int iDrag,
257         int dxHotspot,
258         int dyHotspot) = 0;
259 
260     virtual HRESULT STDMETHODCALLTYPE DragShowNolock(
261         WINBOOL fShow) = 0;
262 
263     virtual HRESULT STDMETHODCALLTYPE GetDragImage(
264         POINT *ppt,
265         POINT *pptHotspot,
266         REFIID riid,
267         void **ppv) = 0;
268 
269     virtual HRESULT STDMETHODCALLTYPE GetItemFlags(
270         int i,
271         DWORD *dwFlags) = 0;
272 
273     virtual HRESULT STDMETHODCALLTYPE GetOverlayImage(
274         int iOverlay,
275         int *piIndex) = 0;
276 
277 };
278 #ifdef __CRT_UUID_DECL
279 __CRT_UUID_DECL(IImageList, 0x46eb5926, 0x582e, 0x4017, 0x9f,0xdf, 0xe8,0x99,0x8d,0xaa,0x09,0x50)
280 #endif
281 #else
282 typedef struct IImageListVtbl {
283     BEGIN_INTERFACE
284 
285     /*** IUnknown methods ***/
286     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
287         IImageList *This,
288         REFIID riid,
289         void **ppvObject);
290 
291     ULONG (STDMETHODCALLTYPE *AddRef)(
292         IImageList *This);
293 
294     ULONG (STDMETHODCALLTYPE *Release)(
295         IImageList *This);
296 
297     /*** IImageList methods ***/
298     HRESULT (STDMETHODCALLTYPE *Add)(
299         IImageList *This,
300         HBITMAP hbmImage,
301         HBITMAP hbmMask,
302         int *pi);
303 
304     HRESULT (STDMETHODCALLTYPE *ReplaceIcon)(
305         IImageList *This,
306         int i,
307         HICON hicon,
308         int *pi);
309 
310     HRESULT (STDMETHODCALLTYPE *SetOverlayImage)(
311         IImageList *This,
312         int iImage,
313         int iOverlay);
314 
315     HRESULT (STDMETHODCALLTYPE *Replace)(
316         IImageList *This,
317         int i,
318         HBITMAP hbmImage,
319         HBITMAP hbmMask);
320 
321     HRESULT (STDMETHODCALLTYPE *AddMasked)(
322         IImageList *This,
323         HBITMAP hbmImage,
324         COLORREF crMask,
325         int *pi);
326 
327     HRESULT (STDMETHODCALLTYPE *Draw)(
328         IImageList *This,
329         IMAGELISTDRAWPARAMS *pimldp);
330 
331     HRESULT (STDMETHODCALLTYPE *Remove)(
332         IImageList *This,
333         int i);
334 
335     HRESULT (STDMETHODCALLTYPE *GetIcon)(
336         IImageList *This,
337         int i,
338         UINT flags,
339         HICON *picon);
340 
341     HRESULT (STDMETHODCALLTYPE *GetImageInfo)(
342         IImageList *This,
343         int i,
344         IMAGEINFO *pImageInfo);
345 
346     HRESULT (STDMETHODCALLTYPE *Copy)(
347         IImageList *This,
348         int iDst,
349         IUnknown *punkSrc,
350         int iSrc,
351         UINT uFlags);
352 
353     HRESULT (STDMETHODCALLTYPE *Merge)(
354         IImageList *This,
355         int i1,
356         IUnknown *punk2,
357         int i2,
358         int dx,
359         int dy,
360         REFIID riid,
361         void **ppv);
362 
363     HRESULT (STDMETHODCALLTYPE *Clone)(
364         IImageList *This,
365         REFIID riid,
366         void **ppv);
367 
368     HRESULT (STDMETHODCALLTYPE *GetImageRect)(
369         IImageList *This,
370         int i,
371         RECT *prc);
372 
373     HRESULT (STDMETHODCALLTYPE *GetIconSize)(
374         IImageList *This,
375         int *cx,
376         int *cy);
377 
378     HRESULT (STDMETHODCALLTYPE *SetIconSize)(
379         IImageList *This,
380         int cx,
381         int cy);
382 
383     HRESULT (STDMETHODCALLTYPE *GetImageCount)(
384         IImageList *This,
385         int *pi);
386 
387     HRESULT (STDMETHODCALLTYPE *SetImageCount)(
388         IImageList *This,
389         UINT uNewCount);
390 
391     HRESULT (STDMETHODCALLTYPE *SetBkColor)(
392         IImageList *This,
393         COLORREF clrBk,
394         COLORREF *pclr);
395 
396     HRESULT (STDMETHODCALLTYPE *GetBkColor)(
397         IImageList *This,
398         COLORREF *pclr);
399 
400     HRESULT (STDMETHODCALLTYPE *BeginDrag)(
401         IImageList *This,
402         int iTrack,
403         int dxHotspot,
404         int dyHotspot);
405 
406     HRESULT (STDMETHODCALLTYPE *EndDrag)(
407         IImageList *This);
408 
409     HRESULT (STDMETHODCALLTYPE *DragEnter)(
410         IImageList *This,
411         HWND hwndLock,
412         int x,
413         int y);
414 
415     HRESULT (STDMETHODCALLTYPE *DragLeave)(
416         IImageList *This,
417         HWND hwndLock);
418 
419     HRESULT (STDMETHODCALLTYPE *DragMove)(
420         IImageList *This,
421         int x,
422         int y);
423 
424     HRESULT (STDMETHODCALLTYPE *SetDragCursorImage)(
425         IImageList *This,
426         IUnknown *punk,
427         int iDrag,
428         int dxHotspot,
429         int dyHotspot);
430 
431     HRESULT (STDMETHODCALLTYPE *DragShowNolock)(
432         IImageList *This,
433         WINBOOL fShow);
434 
435     HRESULT (STDMETHODCALLTYPE *GetDragImage)(
436         IImageList *This,
437         POINT *ppt,
438         POINT *pptHotspot,
439         REFIID riid,
440         void **ppv);
441 
442     HRESULT (STDMETHODCALLTYPE *GetItemFlags)(
443         IImageList *This,
444         int i,
445         DWORD *dwFlags);
446 
447     HRESULT (STDMETHODCALLTYPE *GetOverlayImage)(
448         IImageList *This,
449         int iOverlay,
450         int *piIndex);
451 
452     END_INTERFACE
453 } IImageListVtbl;
454 
455 interface IImageList {
456     CONST_VTBL IImageListVtbl* lpVtbl;
457 };
458 
459 #ifdef COBJMACROS
460 #ifndef WIDL_C_INLINE_WRAPPERS
461 /*** IUnknown methods ***/
462 #define IImageList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
463 #define IImageList_AddRef(This) (This)->lpVtbl->AddRef(This)
464 #define IImageList_Release(This) (This)->lpVtbl->Release(This)
465 /*** IImageList methods ***/
466 #define IImageList_Add(This,hbmImage,hbmMask,pi) (This)->lpVtbl->Add(This,hbmImage,hbmMask,pi)
467 #define IImageList_ReplaceIcon(This,i,hicon,pi) (This)->lpVtbl->ReplaceIcon(This,i,hicon,pi)
468 #define IImageList_SetOverlayImage(This,iImage,iOverlay) (This)->lpVtbl->SetOverlayImage(This,iImage,iOverlay)
469 #define IImageList_Replace(This,i,hbmImage,hbmMask) (This)->lpVtbl->Replace(This,i,hbmImage,hbmMask)
470 #define IImageList_AddMasked(This,hbmImage,crMask,pi) (This)->lpVtbl->AddMasked(This,hbmImage,crMask,pi)
471 #define IImageList_Draw(This,pimldp) (This)->lpVtbl->Draw(This,pimldp)
472 #define IImageList_Remove(This,i) (This)->lpVtbl->Remove(This,i)
473 #define IImageList_GetIcon(This,i,flags,picon) (This)->lpVtbl->GetIcon(This,i,flags,picon)
474 #define IImageList_GetImageInfo(This,i,pImageInfo) (This)->lpVtbl->GetImageInfo(This,i,pImageInfo)
475 #define IImageList_Copy(This,iDst,punkSrc,iSrc,uFlags) (This)->lpVtbl->Copy(This,iDst,punkSrc,iSrc,uFlags)
476 #define IImageList_Merge(This,i1,punk2,i2,dx,dy,riid,ppv) (This)->lpVtbl->Merge(This,i1,punk2,i2,dx,dy,riid,ppv)
477 #define IImageList_Clone(This,riid,ppv) (This)->lpVtbl->Clone(This,riid,ppv)
478 #define IImageList_GetImageRect(This,i,prc) (This)->lpVtbl->GetImageRect(This,i,prc)
479 #define IImageList_GetIconSize(This,cx,cy) (This)->lpVtbl->GetIconSize(This,cx,cy)
480 #define IImageList_SetIconSize(This,cx,cy) (This)->lpVtbl->SetIconSize(This,cx,cy)
481 #define IImageList_GetImageCount(This,pi) (This)->lpVtbl->GetImageCount(This,pi)
482 #define IImageList_SetImageCount(This,uNewCount) (This)->lpVtbl->SetImageCount(This,uNewCount)
483 #define IImageList_SetBkColor(This,clrBk,pclr) (This)->lpVtbl->SetBkColor(This,clrBk,pclr)
484 #define IImageList_GetBkColor(This,pclr) (This)->lpVtbl->GetBkColor(This,pclr)
485 #define IImageList_BeginDrag(This,iTrack,dxHotspot,dyHotspot) (This)->lpVtbl->BeginDrag(This,iTrack,dxHotspot,dyHotspot)
486 #define IImageList_EndDrag(This) (This)->lpVtbl->EndDrag(This)
487 #define IImageList_DragEnter(This,hwndLock,x,y) (This)->lpVtbl->DragEnter(This,hwndLock,x,y)
488 #define IImageList_DragLeave(This,hwndLock) (This)->lpVtbl->DragLeave(This,hwndLock)
489 #define IImageList_DragMove(This,x,y) (This)->lpVtbl->DragMove(This,x,y)
490 #define IImageList_SetDragCursorImage(This,punk,iDrag,dxHotspot,dyHotspot) (This)->lpVtbl->SetDragCursorImage(This,punk,iDrag,dxHotspot,dyHotspot)
491 #define IImageList_DragShowNolock(This,fShow) (This)->lpVtbl->DragShowNolock(This,fShow)
492 #define IImageList_GetDragImage(This,ppt,pptHotspot,riid,ppv) (This)->lpVtbl->GetDragImage(This,ppt,pptHotspot,riid,ppv)
493 #define IImageList_GetItemFlags(This,i,dwFlags) (This)->lpVtbl->GetItemFlags(This,i,dwFlags)
494 #define IImageList_GetOverlayImage(This,iOverlay,piIndex) (This)->lpVtbl->GetOverlayImage(This,iOverlay,piIndex)
495 #else
496 /*** IUnknown methods ***/
497 static FORCEINLINE HRESULT IImageList_QueryInterface(IImageList* This,REFIID riid,void **ppvObject) {
498     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
499 }
500 static FORCEINLINE ULONG IImageList_AddRef(IImageList* This) {
501     return This->lpVtbl->AddRef(This);
502 }
503 static FORCEINLINE ULONG IImageList_Release(IImageList* This) {
504     return This->lpVtbl->Release(This);
505 }
506 /*** IImageList methods ***/
507 static FORCEINLINE HRESULT IImageList_Add(IImageList* This,HBITMAP hbmImage,HBITMAP hbmMask,int *pi) {
508     return This->lpVtbl->Add(This,hbmImage,hbmMask,pi);
509 }
510 static FORCEINLINE HRESULT IImageList_ReplaceIcon(IImageList* This,int i,HICON hicon,int *pi) {
511     return This->lpVtbl->ReplaceIcon(This,i,hicon,pi);
512 }
513 static FORCEINLINE HRESULT IImageList_SetOverlayImage(IImageList* This,int iImage,int iOverlay) {
514     return This->lpVtbl->SetOverlayImage(This,iImage,iOverlay);
515 }
516 static FORCEINLINE HRESULT IImageList_Replace(IImageList* This,int i,HBITMAP hbmImage,HBITMAP hbmMask) {
517     return This->lpVtbl->Replace(This,i,hbmImage,hbmMask);
518 }
519 static FORCEINLINE HRESULT IImageList_AddMasked(IImageList* This,HBITMAP hbmImage,COLORREF crMask,int *pi) {
520     return This->lpVtbl->AddMasked(This,hbmImage,crMask,pi);
521 }
522 static FORCEINLINE HRESULT IImageList_Draw(IImageList* This,IMAGELISTDRAWPARAMS *pimldp) {
523     return This->lpVtbl->Draw(This,pimldp);
524 }
525 static FORCEINLINE HRESULT IImageList_Remove(IImageList* This,int i) {
526     return This->lpVtbl->Remove(This,i);
527 }
528 static FORCEINLINE HRESULT IImageList_GetIcon(IImageList* This,int i,UINT flags,HICON *picon) {
529     return This->lpVtbl->GetIcon(This,i,flags,picon);
530 }
531 static FORCEINLINE HRESULT IImageList_GetImageInfo(IImageList* This,int i,IMAGEINFO *pImageInfo) {
532     return This->lpVtbl->GetImageInfo(This,i,pImageInfo);
533 }
534 static FORCEINLINE HRESULT IImageList_Copy(IImageList* This,int iDst,IUnknown *punkSrc,int iSrc,UINT uFlags) {
535     return This->lpVtbl->Copy(This,iDst,punkSrc,iSrc,uFlags);
536 }
537 static FORCEINLINE HRESULT IImageList_Merge(IImageList* This,int i1,IUnknown *punk2,int i2,int dx,int dy,REFIID riid,void **ppv) {
538     return This->lpVtbl->Merge(This,i1,punk2,i2,dx,dy,riid,ppv);
539 }
540 static FORCEINLINE HRESULT IImageList_Clone(IImageList* This,REFIID riid,void **ppv) {
541     return This->lpVtbl->Clone(This,riid,ppv);
542 }
543 static FORCEINLINE HRESULT IImageList_GetImageRect(IImageList* This,int i,RECT *prc) {
544     return This->lpVtbl->GetImageRect(This,i,prc);
545 }
546 static FORCEINLINE HRESULT IImageList_GetIconSize(IImageList* This,int *cx,int *cy) {
547     return This->lpVtbl->GetIconSize(This,cx,cy);
548 }
549 static FORCEINLINE HRESULT IImageList_SetIconSize(IImageList* This,int cx,int cy) {
550     return This->lpVtbl->SetIconSize(This,cx,cy);
551 }
552 static FORCEINLINE HRESULT IImageList_GetImageCount(IImageList* This,int *pi) {
553     return This->lpVtbl->GetImageCount(This,pi);
554 }
555 static FORCEINLINE HRESULT IImageList_SetImageCount(IImageList* This,UINT uNewCount) {
556     return This->lpVtbl->SetImageCount(This,uNewCount);
557 }
558 static FORCEINLINE HRESULT IImageList_SetBkColor(IImageList* This,COLORREF clrBk,COLORREF *pclr) {
559     return This->lpVtbl->SetBkColor(This,clrBk,pclr);
560 }
561 static FORCEINLINE HRESULT IImageList_GetBkColor(IImageList* This,COLORREF *pclr) {
562     return This->lpVtbl->GetBkColor(This,pclr);
563 }
564 static FORCEINLINE HRESULT IImageList_BeginDrag(IImageList* This,int iTrack,int dxHotspot,int dyHotspot) {
565     return This->lpVtbl->BeginDrag(This,iTrack,dxHotspot,dyHotspot);
566 }
567 static FORCEINLINE HRESULT IImageList_EndDrag(IImageList* This) {
568     return This->lpVtbl->EndDrag(This);
569 }
570 static FORCEINLINE HRESULT IImageList_DragEnter(IImageList* This,HWND hwndLock,int x,int y) {
571     return This->lpVtbl->DragEnter(This,hwndLock,x,y);
572 }
573 static FORCEINLINE HRESULT IImageList_DragLeave(IImageList* This,HWND hwndLock) {
574     return This->lpVtbl->DragLeave(This,hwndLock);
575 }
576 static FORCEINLINE HRESULT IImageList_DragMove(IImageList* This,int x,int y) {
577     return This->lpVtbl->DragMove(This,x,y);
578 }
579 static FORCEINLINE HRESULT IImageList_SetDragCursorImage(IImageList* This,IUnknown *punk,int iDrag,int dxHotspot,int dyHotspot) {
580     return This->lpVtbl->SetDragCursorImage(This,punk,iDrag,dxHotspot,dyHotspot);
581 }
582 static FORCEINLINE HRESULT IImageList_DragShowNolock(IImageList* This,WINBOOL fShow) {
583     return This->lpVtbl->DragShowNolock(This,fShow);
584 }
585 static FORCEINLINE HRESULT IImageList_GetDragImage(IImageList* This,POINT *ppt,POINT *pptHotspot,REFIID riid,void **ppv) {
586     return This->lpVtbl->GetDragImage(This,ppt,pptHotspot,riid,ppv);
587 }
588 static FORCEINLINE HRESULT IImageList_GetItemFlags(IImageList* This,int i,DWORD *dwFlags) {
589     return This->lpVtbl->GetItemFlags(This,i,dwFlags);
590 }
591 static FORCEINLINE HRESULT IImageList_GetOverlayImage(IImageList* This,int iOverlay,int *piIndex) {
592     return This->lpVtbl->GetOverlayImage(This,iOverlay,piIndex);
593 }
594 #endif
595 #endif
596 
597 #endif
598 
599 
600 #endif  /* __IImageList_INTERFACE_DEFINED__ */
601 
602 /*****************************************************************************
603  * IImageList2 interface
604  */
605 #ifndef __IImageList2_INTERFACE_DEFINED__
606 #define __IImageList2_INTERFACE_DEFINED__
607 
608 DEFINE_GUID(IID_IImageList2, 0x192b9d83, 0x50fc, 0x457b, 0x90,0xa0, 0x2b,0x82,0xa8,0xb5,0xda,0xe1);
609 #if defined(__cplusplus) && !defined(CINTERFACE)
610 MIDL_INTERFACE("192b9d83-50fc-457b-90a0-2b82a8b5dae1")
611 IImageList2 : public IImageList
612 {
613     virtual HRESULT STDMETHODCALLTYPE Resize(
614         int cxNewIconSize,
615         int cyNewIconSize) = 0;
616 
617     virtual HRESULT STDMETHODCALLTYPE GetOriginalSize(
618         int iImage,
619         DWORD dwFlags,
620         int *pcx,
621         int *pcy) = 0;
622 
623     virtual HRESULT STDMETHODCALLTYPE SetOriginalSize(
624         int iImage,
625         int cx,
626         int cy) = 0;
627 
628     virtual HRESULT STDMETHODCALLTYPE SetCallback(
629         IUnknown *punk) = 0;
630 
631     virtual HRESULT STDMETHODCALLTYPE GetCallback(
632         REFIID riid,
633         void **ppv) = 0;
634 
635     virtual HRESULT STDMETHODCALLTYPE ForceImagePresent(
636         int iImage,
637         DWORD dwFlags) = 0;
638 
639     virtual HRESULT STDMETHODCALLTYPE DiscardImages(
640         int iFirstImage,
641         int iLastImage,
642         DWORD dwFlags) = 0;
643 
644     virtual HRESULT STDMETHODCALLTYPE PreloadImages(
645         IMAGELISTDRAWPARAMS *pimldp) = 0;
646 
647     virtual HRESULT STDMETHODCALLTYPE GetStatistics(
648         IMAGELISTSTATS *pils) = 0;
649 
650     virtual HRESULT STDMETHODCALLTYPE Initialize(
651         int cx,
652         int cy,
653         UINT flags,
654         int cInitial,
655         int cGrow) = 0;
656 
657     virtual HRESULT STDMETHODCALLTYPE Replace2(
658         int i,
659         HBITMAP hbmImage,
660         HBITMAP hbmMask,
661         IUnknown *punk,
662         DWORD dwFlags) = 0;
663 
664     virtual HRESULT STDMETHODCALLTYPE ReplaceFromImageList(
665         int i,
666         IImageList *pil,
667         int iSrc,
668         IUnknown *punk,
669         DWORD dwFlags) = 0;
670 
671 };
672 #ifdef __CRT_UUID_DECL
673 __CRT_UUID_DECL(IImageList2, 0x192b9d83, 0x50fc, 0x457b, 0x90,0xa0, 0x2b,0x82,0xa8,0xb5,0xda,0xe1)
674 #endif
675 #else
676 typedef struct IImageList2Vtbl {
677     BEGIN_INTERFACE
678 
679     /*** IUnknown methods ***/
680     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
681         IImageList2 *This,
682         REFIID riid,
683         void **ppvObject);
684 
685     ULONG (STDMETHODCALLTYPE *AddRef)(
686         IImageList2 *This);
687 
688     ULONG (STDMETHODCALLTYPE *Release)(
689         IImageList2 *This);
690 
691     /*** IImageList methods ***/
692     HRESULT (STDMETHODCALLTYPE *Add)(
693         IImageList2 *This,
694         HBITMAP hbmImage,
695         HBITMAP hbmMask,
696         int *pi);
697 
698     HRESULT (STDMETHODCALLTYPE *ReplaceIcon)(
699         IImageList2 *This,
700         int i,
701         HICON hicon,
702         int *pi);
703 
704     HRESULT (STDMETHODCALLTYPE *SetOverlayImage)(
705         IImageList2 *This,
706         int iImage,
707         int iOverlay);
708 
709     HRESULT (STDMETHODCALLTYPE *Replace)(
710         IImageList2 *This,
711         int i,
712         HBITMAP hbmImage,
713         HBITMAP hbmMask);
714 
715     HRESULT (STDMETHODCALLTYPE *AddMasked)(
716         IImageList2 *This,
717         HBITMAP hbmImage,
718         COLORREF crMask,
719         int *pi);
720 
721     HRESULT (STDMETHODCALLTYPE *Draw)(
722         IImageList2 *This,
723         IMAGELISTDRAWPARAMS *pimldp);
724 
725     HRESULT (STDMETHODCALLTYPE *Remove)(
726         IImageList2 *This,
727         int i);
728 
729     HRESULT (STDMETHODCALLTYPE *GetIcon)(
730         IImageList2 *This,
731         int i,
732         UINT flags,
733         HICON *picon);
734 
735     HRESULT (STDMETHODCALLTYPE *GetImageInfo)(
736         IImageList2 *This,
737         int i,
738         IMAGEINFO *pImageInfo);
739 
740     HRESULT (STDMETHODCALLTYPE *Copy)(
741         IImageList2 *This,
742         int iDst,
743         IUnknown *punkSrc,
744         int iSrc,
745         UINT uFlags);
746 
747     HRESULT (STDMETHODCALLTYPE *Merge)(
748         IImageList2 *This,
749         int i1,
750         IUnknown *punk2,
751         int i2,
752         int dx,
753         int dy,
754         REFIID riid,
755         void **ppv);
756 
757     HRESULT (STDMETHODCALLTYPE *Clone)(
758         IImageList2 *This,
759         REFIID riid,
760         void **ppv);
761 
762     HRESULT (STDMETHODCALLTYPE *GetImageRect)(
763         IImageList2 *This,
764         int i,
765         RECT *prc);
766 
767     HRESULT (STDMETHODCALLTYPE *GetIconSize)(
768         IImageList2 *This,
769         int *cx,
770         int *cy);
771 
772     HRESULT (STDMETHODCALLTYPE *SetIconSize)(
773         IImageList2 *This,
774         int cx,
775         int cy);
776 
777     HRESULT (STDMETHODCALLTYPE *GetImageCount)(
778         IImageList2 *This,
779         int *pi);
780 
781     HRESULT (STDMETHODCALLTYPE *SetImageCount)(
782         IImageList2 *This,
783         UINT uNewCount);
784 
785     HRESULT (STDMETHODCALLTYPE *SetBkColor)(
786         IImageList2 *This,
787         COLORREF clrBk,
788         COLORREF *pclr);
789 
790     HRESULT (STDMETHODCALLTYPE *GetBkColor)(
791         IImageList2 *This,
792         COLORREF *pclr);
793 
794     HRESULT (STDMETHODCALLTYPE *BeginDrag)(
795         IImageList2 *This,
796         int iTrack,
797         int dxHotspot,
798         int dyHotspot);
799 
800     HRESULT (STDMETHODCALLTYPE *EndDrag)(
801         IImageList2 *This);
802 
803     HRESULT (STDMETHODCALLTYPE *DragEnter)(
804         IImageList2 *This,
805         HWND hwndLock,
806         int x,
807         int y);
808 
809     HRESULT (STDMETHODCALLTYPE *DragLeave)(
810         IImageList2 *This,
811         HWND hwndLock);
812 
813     HRESULT (STDMETHODCALLTYPE *DragMove)(
814         IImageList2 *This,
815         int x,
816         int y);
817 
818     HRESULT (STDMETHODCALLTYPE *SetDragCursorImage)(
819         IImageList2 *This,
820         IUnknown *punk,
821         int iDrag,
822         int dxHotspot,
823         int dyHotspot);
824 
825     HRESULT (STDMETHODCALLTYPE *DragShowNolock)(
826         IImageList2 *This,
827         WINBOOL fShow);
828 
829     HRESULT (STDMETHODCALLTYPE *GetDragImage)(
830         IImageList2 *This,
831         POINT *ppt,
832         POINT *pptHotspot,
833         REFIID riid,
834         void **ppv);
835 
836     HRESULT (STDMETHODCALLTYPE *GetItemFlags)(
837         IImageList2 *This,
838         int i,
839         DWORD *dwFlags);
840 
841     HRESULT (STDMETHODCALLTYPE *GetOverlayImage)(
842         IImageList2 *This,
843         int iOverlay,
844         int *piIndex);
845 
846     /*** IImageList2 methods ***/
847     HRESULT (STDMETHODCALLTYPE *Resize)(
848         IImageList2 *This,
849         int cxNewIconSize,
850         int cyNewIconSize);
851 
852     HRESULT (STDMETHODCALLTYPE *GetOriginalSize)(
853         IImageList2 *This,
854         int iImage,
855         DWORD dwFlags,
856         int *pcx,
857         int *pcy);
858 
859     HRESULT (STDMETHODCALLTYPE *SetOriginalSize)(
860         IImageList2 *This,
861         int iImage,
862         int cx,
863         int cy);
864 
865     HRESULT (STDMETHODCALLTYPE *SetCallback)(
866         IImageList2 *This,
867         IUnknown *punk);
868 
869     HRESULT (STDMETHODCALLTYPE *GetCallback)(
870         IImageList2 *This,
871         REFIID riid,
872         void **ppv);
873 
874     HRESULT (STDMETHODCALLTYPE *ForceImagePresent)(
875         IImageList2 *This,
876         int iImage,
877         DWORD dwFlags);
878 
879     HRESULT (STDMETHODCALLTYPE *DiscardImages)(
880         IImageList2 *This,
881         int iFirstImage,
882         int iLastImage,
883         DWORD dwFlags);
884 
885     HRESULT (STDMETHODCALLTYPE *PreloadImages)(
886         IImageList2 *This,
887         IMAGELISTDRAWPARAMS *pimldp);
888 
889     HRESULT (STDMETHODCALLTYPE *GetStatistics)(
890         IImageList2 *This,
891         IMAGELISTSTATS *pils);
892 
893     HRESULT (STDMETHODCALLTYPE *Initialize)(
894         IImageList2 *This,
895         int cx,
896         int cy,
897         UINT flags,
898         int cInitial,
899         int cGrow);
900 
901     HRESULT (STDMETHODCALLTYPE *Replace2)(
902         IImageList2 *This,
903         int i,
904         HBITMAP hbmImage,
905         HBITMAP hbmMask,
906         IUnknown *punk,
907         DWORD dwFlags);
908 
909     HRESULT (STDMETHODCALLTYPE *ReplaceFromImageList)(
910         IImageList2 *This,
911         int i,
912         IImageList *pil,
913         int iSrc,
914         IUnknown *punk,
915         DWORD dwFlags);
916 
917     END_INTERFACE
918 } IImageList2Vtbl;
919 
920 interface IImageList2 {
921     CONST_VTBL IImageList2Vtbl* lpVtbl;
922 };
923 
924 #ifdef COBJMACROS
925 #ifndef WIDL_C_INLINE_WRAPPERS
926 /*** IUnknown methods ***/
927 #define IImageList2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
928 #define IImageList2_AddRef(This) (This)->lpVtbl->AddRef(This)
929 #define IImageList2_Release(This) (This)->lpVtbl->Release(This)
930 /*** IImageList methods ***/
931 #define IImageList2_Add(This,hbmImage,hbmMask,pi) (This)->lpVtbl->Add(This,hbmImage,hbmMask,pi)
932 #define IImageList2_ReplaceIcon(This,i,hicon,pi) (This)->lpVtbl->ReplaceIcon(This,i,hicon,pi)
933 #define IImageList2_SetOverlayImage(This,iImage,iOverlay) (This)->lpVtbl->SetOverlayImage(This,iImage,iOverlay)
934 #define IImageList2_Replace(This,i,hbmImage,hbmMask) (This)->lpVtbl->Replace(This,i,hbmImage,hbmMask)
935 #define IImageList2_AddMasked(This,hbmImage,crMask,pi) (This)->lpVtbl->AddMasked(This,hbmImage,crMask,pi)
936 #define IImageList2_Draw(This,pimldp) (This)->lpVtbl->Draw(This,pimldp)
937 #define IImageList2_Remove(This,i) (This)->lpVtbl->Remove(This,i)
938 #define IImageList2_GetIcon(This,i,flags,picon) (This)->lpVtbl->GetIcon(This,i,flags,picon)
939 #define IImageList2_GetImageInfo(This,i,pImageInfo) (This)->lpVtbl->GetImageInfo(This,i,pImageInfo)
940 #define IImageList2_Copy(This,iDst,punkSrc,iSrc,uFlags) (This)->lpVtbl->Copy(This,iDst,punkSrc,iSrc,uFlags)
941 #define IImageList2_Merge(This,i1,punk2,i2,dx,dy,riid,ppv) (This)->lpVtbl->Merge(This,i1,punk2,i2,dx,dy,riid,ppv)
942 #define IImageList2_Clone(This,riid,ppv) (This)->lpVtbl->Clone(This,riid,ppv)
943 #define IImageList2_GetImageRect(This,i,prc) (This)->lpVtbl->GetImageRect(This,i,prc)
944 #define IImageList2_GetIconSize(This,cx,cy) (This)->lpVtbl->GetIconSize(This,cx,cy)
945 #define IImageList2_SetIconSize(This,cx,cy) (This)->lpVtbl->SetIconSize(This,cx,cy)
946 #define IImageList2_GetImageCount(This,pi) (This)->lpVtbl->GetImageCount(This,pi)
947 #define IImageList2_SetImageCount(This,uNewCount) (This)->lpVtbl->SetImageCount(This,uNewCount)
948 #define IImageList2_SetBkColor(This,clrBk,pclr) (This)->lpVtbl->SetBkColor(This,clrBk,pclr)
949 #define IImageList2_GetBkColor(This,pclr) (This)->lpVtbl->GetBkColor(This,pclr)
950 #define IImageList2_BeginDrag(This,iTrack,dxHotspot,dyHotspot) (This)->lpVtbl->BeginDrag(This,iTrack,dxHotspot,dyHotspot)
951 #define IImageList2_EndDrag(This) (This)->lpVtbl->EndDrag(This)
952 #define IImageList2_DragEnter(This,hwndLock,x,y) (This)->lpVtbl->DragEnter(This,hwndLock,x,y)
953 #define IImageList2_DragLeave(This,hwndLock) (This)->lpVtbl->DragLeave(This,hwndLock)
954 #define IImageList2_DragMove(This,x,y) (This)->lpVtbl->DragMove(This,x,y)
955 #define IImageList2_SetDragCursorImage(This,punk,iDrag,dxHotspot,dyHotspot) (This)->lpVtbl->SetDragCursorImage(This,punk,iDrag,dxHotspot,dyHotspot)
956 #define IImageList2_DragShowNolock(This,fShow) (This)->lpVtbl->DragShowNolock(This,fShow)
957 #define IImageList2_GetDragImage(This,ppt,pptHotspot,riid,ppv) (This)->lpVtbl->GetDragImage(This,ppt,pptHotspot,riid,ppv)
958 #define IImageList2_GetItemFlags(This,i,dwFlags) (This)->lpVtbl->GetItemFlags(This,i,dwFlags)
959 #define IImageList2_GetOverlayImage(This,iOverlay,piIndex) (This)->lpVtbl->GetOverlayImage(This,iOverlay,piIndex)
960 /*** IImageList2 methods ***/
961 #define IImageList2_Resize(This,cxNewIconSize,cyNewIconSize) (This)->lpVtbl->Resize(This,cxNewIconSize,cyNewIconSize)
962 #define IImageList2_GetOriginalSize(This,iImage,dwFlags,pcx,pcy) (This)->lpVtbl->GetOriginalSize(This,iImage,dwFlags,pcx,pcy)
963 #define IImageList2_SetOriginalSize(This,iImage,cx,cy) (This)->lpVtbl->SetOriginalSize(This,iImage,cx,cy)
964 #define IImageList2_SetCallback(This,punk) (This)->lpVtbl->SetCallback(This,punk)
965 #define IImageList2_GetCallback(This,riid,ppv) (This)->lpVtbl->GetCallback(This,riid,ppv)
966 #define IImageList2_ForceImagePresent(This,iImage,dwFlags) (This)->lpVtbl->ForceImagePresent(This,iImage,dwFlags)
967 #define IImageList2_DiscardImages(This,iFirstImage,iLastImage,dwFlags) (This)->lpVtbl->DiscardImages(This,iFirstImage,iLastImage,dwFlags)
968 #define IImageList2_PreloadImages(This,pimldp) (This)->lpVtbl->PreloadImages(This,pimldp)
969 #define IImageList2_GetStatistics(This,pils) (This)->lpVtbl->GetStatistics(This,pils)
970 #define IImageList2_Initialize(This,cx,cy,flags,cInitial,cGrow) (This)->lpVtbl->Initialize(This,cx,cy,flags,cInitial,cGrow)
971 #define IImageList2_Replace2(This,i,hbmImage,hbmMask,punk,dwFlags) (This)->lpVtbl->Replace2(This,i,hbmImage,hbmMask,punk,dwFlags)
972 #define IImageList2_ReplaceFromImageList(This,i,pil,iSrc,punk,dwFlags) (This)->lpVtbl->ReplaceFromImageList(This,i,pil,iSrc,punk,dwFlags)
973 #else
974 /*** IUnknown methods ***/
975 static FORCEINLINE HRESULT IImageList2_QueryInterface(IImageList2* This,REFIID riid,void **ppvObject) {
976     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
977 }
978 static FORCEINLINE ULONG IImageList2_AddRef(IImageList2* This) {
979     return This->lpVtbl->AddRef(This);
980 }
981 static FORCEINLINE ULONG IImageList2_Release(IImageList2* This) {
982     return This->lpVtbl->Release(This);
983 }
984 /*** IImageList methods ***/
985 static FORCEINLINE HRESULT IImageList2_Add(IImageList2* This,HBITMAP hbmImage,HBITMAP hbmMask,int *pi) {
986     return This->lpVtbl->Add(This,hbmImage,hbmMask,pi);
987 }
988 static FORCEINLINE HRESULT IImageList2_ReplaceIcon(IImageList2* This,int i,HICON hicon,int *pi) {
989     return This->lpVtbl->ReplaceIcon(This,i,hicon,pi);
990 }
991 static FORCEINLINE HRESULT IImageList2_SetOverlayImage(IImageList2* This,int iImage,int iOverlay) {
992     return This->lpVtbl->SetOverlayImage(This,iImage,iOverlay);
993 }
994 static FORCEINLINE HRESULT IImageList2_Replace(IImageList2* This,int i,HBITMAP hbmImage,HBITMAP hbmMask) {
995     return This->lpVtbl->Replace(This,i,hbmImage,hbmMask);
996 }
997 static FORCEINLINE HRESULT IImageList2_AddMasked(IImageList2* This,HBITMAP hbmImage,COLORREF crMask,int *pi) {
998     return This->lpVtbl->AddMasked(This,hbmImage,crMask,pi);
999 }
1000 static FORCEINLINE HRESULT IImageList2_Draw(IImageList2* This,IMAGELISTDRAWPARAMS *pimldp) {
1001     return This->lpVtbl->Draw(This,pimldp);
1002 }
1003 static FORCEINLINE HRESULT IImageList2_Remove(IImageList2* This,int i) {
1004     return This->lpVtbl->Remove(This,i);
1005 }
1006 static FORCEINLINE HRESULT IImageList2_GetIcon(IImageList2* This,int i,UINT flags,HICON *picon) {
1007     return This->lpVtbl->GetIcon(This,i,flags,picon);
1008 }
1009 static FORCEINLINE HRESULT IImageList2_GetImageInfo(IImageList2* This,int i,IMAGEINFO *pImageInfo) {
1010     return This->lpVtbl->GetImageInfo(This,i,pImageInfo);
1011 }
1012 static FORCEINLINE HRESULT IImageList2_Copy(IImageList2* This,int iDst,IUnknown *punkSrc,int iSrc,UINT uFlags) {
1013     return This->lpVtbl->Copy(This,iDst,punkSrc,iSrc,uFlags);
1014 }
1015 static FORCEINLINE HRESULT IImageList2_Merge(IImageList2* This,int i1,IUnknown *punk2,int i2,int dx,int dy,REFIID riid,void **ppv) {
1016     return This->lpVtbl->Merge(This,i1,punk2,i2,dx,dy,riid,ppv);
1017 }
1018 static FORCEINLINE HRESULT IImageList2_Clone(IImageList2* This,REFIID riid,void **ppv) {
1019     return This->lpVtbl->Clone(This,riid,ppv);
1020 }
1021 static FORCEINLINE HRESULT IImageList2_GetImageRect(IImageList2* This,int i,RECT *prc) {
1022     return This->lpVtbl->GetImageRect(This,i,prc);
1023 }
1024 static FORCEINLINE HRESULT IImageList2_GetIconSize(IImageList2* This,int *cx,int *cy) {
1025     return This->lpVtbl->GetIconSize(This,cx,cy);
1026 }
1027 static FORCEINLINE HRESULT IImageList2_SetIconSize(IImageList2* This,int cx,int cy) {
1028     return This->lpVtbl->SetIconSize(This,cx,cy);
1029 }
1030 static FORCEINLINE HRESULT IImageList2_GetImageCount(IImageList2* This,int *pi) {
1031     return This->lpVtbl->GetImageCount(This,pi);
1032 }
1033 static FORCEINLINE HRESULT IImageList2_SetImageCount(IImageList2* This,UINT uNewCount) {
1034     return This->lpVtbl->SetImageCount(This,uNewCount);
1035 }
1036 static FORCEINLINE HRESULT IImageList2_SetBkColor(IImageList2* This,COLORREF clrBk,COLORREF *pclr) {
1037     return This->lpVtbl->SetBkColor(This,clrBk,pclr);
1038 }
1039 static FORCEINLINE HRESULT IImageList2_GetBkColor(IImageList2* This,COLORREF *pclr) {
1040     return This->lpVtbl->GetBkColor(This,pclr);
1041 }
1042 static FORCEINLINE HRESULT IImageList2_BeginDrag(IImageList2* This,int iTrack,int dxHotspot,int dyHotspot) {
1043     return This->lpVtbl->BeginDrag(This,iTrack,dxHotspot,dyHotspot);
1044 }
1045 static FORCEINLINE HRESULT IImageList2_EndDrag(IImageList2* This) {
1046     return This->lpVtbl->EndDrag(This);
1047 }
1048 static FORCEINLINE HRESULT IImageList2_DragEnter(IImageList2* This,HWND hwndLock,int x,int y) {
1049     return This->lpVtbl->DragEnter(This,hwndLock,x,y);
1050 }
1051 static FORCEINLINE HRESULT IImageList2_DragLeave(IImageList2* This,HWND hwndLock) {
1052     return This->lpVtbl->DragLeave(This,hwndLock);
1053 }
1054 static FORCEINLINE HRESULT IImageList2_DragMove(IImageList2* This,int x,int y) {
1055     return This->lpVtbl->DragMove(This,x,y);
1056 }
1057 static FORCEINLINE HRESULT IImageList2_SetDragCursorImage(IImageList2* This,IUnknown *punk,int iDrag,int dxHotspot,int dyHotspot) {
1058     return This->lpVtbl->SetDragCursorImage(This,punk,iDrag,dxHotspot,dyHotspot);
1059 }
1060 static FORCEINLINE HRESULT IImageList2_DragShowNolock(IImageList2* This,WINBOOL fShow) {
1061     return This->lpVtbl->DragShowNolock(This,fShow);
1062 }
1063 static FORCEINLINE HRESULT IImageList2_GetDragImage(IImageList2* This,POINT *ppt,POINT *pptHotspot,REFIID riid,void **ppv) {
1064     return This->lpVtbl->GetDragImage(This,ppt,pptHotspot,riid,ppv);
1065 }
1066 static FORCEINLINE HRESULT IImageList2_GetItemFlags(IImageList2* This,int i,DWORD *dwFlags) {
1067     return This->lpVtbl->GetItemFlags(This,i,dwFlags);
1068 }
1069 static FORCEINLINE HRESULT IImageList2_GetOverlayImage(IImageList2* This,int iOverlay,int *piIndex) {
1070     return This->lpVtbl->GetOverlayImage(This,iOverlay,piIndex);
1071 }
1072 /*** IImageList2 methods ***/
1073 static FORCEINLINE HRESULT IImageList2_Resize(IImageList2* This,int cxNewIconSize,int cyNewIconSize) {
1074     return This->lpVtbl->Resize(This,cxNewIconSize,cyNewIconSize);
1075 }
1076 static FORCEINLINE HRESULT IImageList2_GetOriginalSize(IImageList2* This,int iImage,DWORD dwFlags,int *pcx,int *pcy) {
1077     return This->lpVtbl->GetOriginalSize(This,iImage,dwFlags,pcx,pcy);
1078 }
1079 static FORCEINLINE HRESULT IImageList2_SetOriginalSize(IImageList2* This,int iImage,int cx,int cy) {
1080     return This->lpVtbl->SetOriginalSize(This,iImage,cx,cy);
1081 }
1082 static FORCEINLINE HRESULT IImageList2_SetCallback(IImageList2* This,IUnknown *punk) {
1083     return This->lpVtbl->SetCallback(This,punk);
1084 }
1085 static FORCEINLINE HRESULT IImageList2_GetCallback(IImageList2* This,REFIID riid,void **ppv) {
1086     return This->lpVtbl->GetCallback(This,riid,ppv);
1087 }
1088 static FORCEINLINE HRESULT IImageList2_ForceImagePresent(IImageList2* This,int iImage,DWORD dwFlags) {
1089     return This->lpVtbl->ForceImagePresent(This,iImage,dwFlags);
1090 }
1091 static FORCEINLINE HRESULT IImageList2_DiscardImages(IImageList2* This,int iFirstImage,int iLastImage,DWORD dwFlags) {
1092     return This->lpVtbl->DiscardImages(This,iFirstImage,iLastImage,dwFlags);
1093 }
1094 static FORCEINLINE HRESULT IImageList2_PreloadImages(IImageList2* This,IMAGELISTDRAWPARAMS *pimldp) {
1095     return This->lpVtbl->PreloadImages(This,pimldp);
1096 }
1097 static FORCEINLINE HRESULT IImageList2_GetStatistics(IImageList2* This,IMAGELISTSTATS *pils) {
1098     return This->lpVtbl->GetStatistics(This,pils);
1099 }
1100 static FORCEINLINE HRESULT IImageList2_Initialize(IImageList2* This,int cx,int cy,UINT flags,int cInitial,int cGrow) {
1101     return This->lpVtbl->Initialize(This,cx,cy,flags,cInitial,cGrow);
1102 }
1103 static FORCEINLINE HRESULT IImageList2_Replace2(IImageList2* This,int i,HBITMAP hbmImage,HBITMAP hbmMask,IUnknown *punk,DWORD dwFlags) {
1104     return This->lpVtbl->Replace2(This,i,hbmImage,hbmMask,punk,dwFlags);
1105 }
1106 static FORCEINLINE HRESULT IImageList2_ReplaceFromImageList(IImageList2* This,int i,IImageList *pil,int iSrc,IUnknown *punk,DWORD dwFlags) {
1107     return This->lpVtbl->ReplaceFromImageList(This,i,pil,iSrc,punk,dwFlags);
1108 }
1109 #endif
1110 #endif
1111 
1112 #endif
1113 
1114 
1115 #endif  /* __IImageList2_INTERFACE_DEFINED__ */
1116 
1117 #ifndef __CommonControlObjects_LIBRARY_DEFINED__
1118 #define __CommonControlObjects_LIBRARY_DEFINED__
1119 
1120 DEFINE_GUID(LIBID_CommonControlObjects, 0xbcada15b, 0xb428, 0x420c, 0x8d,0x28, 0x02,0x35,0x90,0x92,0x4c,0x9f);
1121 
1122 /*****************************************************************************
1123  * ImageList coclass
1124  */
1125 
1126 DEFINE_GUID(CLSID_ImageList, 0x7c476ba2, 0x02b1, 0x48f4, 0x80,0x48, 0xb2,0x46,0x19,0xdd,0xc0,0x58);
1127 
1128 #ifdef __cplusplus
1129 class DECLSPEC_UUID("7c476ba2-02b1-48f4-8048-b24619ddc058") ImageList;
1130 #ifdef __CRT_UUID_DECL
1131 __CRT_UUID_DECL(ImageList, 0x7c476ba2, 0x02b1, 0x48f4, 0x80,0x48, 0xb2,0x46,0x19,0xdd,0xc0,0x58)
1132 #endif
1133 #endif
1134 
1135 #endif /* __CommonControlObjects_LIBRARY_DEFINED__ */
1136 #endif
1137 /* Begin additional prototypes for all interfaces */
1138 
1139 
1140 /* End additional prototypes */
1141 
1142 #ifdef __cplusplus
1143 }
1144 #endif
1145 
1146 #endif /* __commoncontrols_h__ */
1147