1 /*** Autogenerated by WIDL 1.6 from include/commoncontrols.idl - Do not edit ***/
2 
3 #ifndef __REQUIRED_RPCNDR_H_VERSION__
4 #define __REQUIRED_RPCNDR_H_VERSION__ 475
5 #endif
6 
7 #include <rpc.h>
8 #include <rpcndr.h>
9 
10 #ifndef COM_NO_WINDOWS_H
11 #include <windows.h>
12 #include <ole2.h>
13 #endif
14 
15 #ifndef __commoncontrols_h__
16 #define __commoncontrols_h__
17 
18 /* Forward declarations */
19 
20 #ifndef __IImageList_FWD_DEFINED__
21 #define __IImageList_FWD_DEFINED__
22 typedef interface IImageList IImageList;
23 #endif
24 
25 #ifndef __IImageList2_FWD_DEFINED__
26 #define __IImageList2_FWD_DEFINED__
27 typedef interface IImageList2 IImageList2;
28 #endif
29 
30 #ifndef __ImageList_FWD_DEFINED__
31 #define __ImageList_FWD_DEFINED__
32 #ifdef __cplusplus
33 typedef class ImageList ImageList;
34 #else
35 typedef struct ImageList ImageList;
36 #endif /* defined __cplusplus */
37 #endif /* defined __ImageList_FWD_DEFINED__ */
38 
39 /* Headers for imported files */
40 
41 #include <oaidl.h>
42 #include <ocidl.h>
43 
44 #ifdef __cplusplus
45 extern "C" {
46 #endif
47 
48 /**
49  * This file is part of the mingw-w64 runtime package.
50  * No warranty is given; refer to the file DISCLAIMER within this package.
51  */
52 #include <winapifamily.h>
53 
54 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
55 #ifndef WINCOMMCTRLAPI
56 #ifndef _COMCTL32_
57 #define WINCOMMCTRLAPI DECLSPEC_IMPORT
58 #else
59 #define WINCOMMCTRLAPI
60 #endif
61 #endif
62 
63 #ifdef __WIDL__
64 typedef DWORD RGBQUAD;
65 typedef IUnknown *HIMAGELIST;
66 typedef struct _IMAGELIST *HIMAGELIST;
67 typedef struct _IMAGELISTDRAWPARAMS {
68     DWORD cbSize;
69     HIMAGELIST himl;
70     int i;
71     HDC hdcDst;
72     int x;
73     int y;
74     int cx;
75     int cy;
76     int xBitmap;
77     int yBitmap;
78     COLORREF rgbBk;
79     COLORREF rgbFg;
80     UINT fStyle;
81     DWORD dwRop;
82     DWORD fState;
83     DWORD Frame;
84     COLORREF crEffect;
85 } IMAGELISTDRAWPARAMS;
86 typedef IMAGELISTDRAWPARAMS *LPIMAGELISTDRAWPARAMS;
87 typedef struct tagIMAGEINFO {
88     HBITMAP hbmImage;
89     HBITMAP hbmMask;
90     int Unused1;
91     int Unused2;
92     RECT rcImage;
93 } IMAGEINFO;
94 typedef IMAGEINFO *LPIMAGEINFO;
95 #endif
96 
97 #define ILIF_ALPHA 0x1
98 #define ILIF_LOWQUALITY 0x2
99 
100 #define ILDRF_IMAGELOWQUALITY 0x1
101 #define ILDRF_OVERLAYLOWQUALITY 0x10
102 
103 #define ILR_DEFAULT 0x0
104 #define ILR_HORIZONTAL_LEFT  0x0
105 #define ILR_HORIZONTAL_CENTER 0x1
106 #define ILR_HORIZONTAL_RIGHT 0x2
107 #define ILR_VERTICAL_TOP 0x0
108 #define ILR_VERTICAL_CENTER 0x10
109 #define ILR_VERTICAL_BOTTOM 0x20
110 #define ILR_SCALE_CLIP               0x0
111 #define ILR_SCALE_ASPECTRATIO        0x100
112 
113 #define ILGOS_ALWAYS 0x0
114 #define ILGOS_FROMSTANDBY 0x1
115 
116 #define ILFIP_ALWAYS 0x0
117 #define ILFIP_FROMSTANDBY 0x1
118 
119 #define ILDI_PURGE 0x1
120 #define ILDI_STANDBY 0x2
121 #define ILDI_RESETACCESS 0x4
122 #define ILDI_QUERYACCESS 0x8
123 
124 #if NTDDI_VERSION >= 0x06000000
125 WINCOMMCTRLAPI HRESULT WINAPI ImageList_CoCreateInstance (REFCLSID rclsid, const IUnknown *punkOuter, REFIID riid, void **ppv);
126 #endif
127 typedef struct tagIMAGELISTSTATS {
128     DWORD cbSize;
129     int cAlloc;
130     int cUsed;
131     int cStandby;
132 } IMAGELISTSTATS;
133 /*****************************************************************************
134  * IImageList interface
135  */
136 #ifndef __IImageList_INTERFACE_DEFINED__
137 #define __IImageList_INTERFACE_DEFINED__
138 
139 DEFINE_GUID(IID_IImageList, 0x46eb5926, 0x582e, 0x4017, 0x9f,0xdf, 0xe8,0x99,0x8d,0xaa,0x09,0x50);
140 #if defined(__cplusplus) && !defined(CINTERFACE)
141 MIDL_INTERFACE("46eb5926-582e-4017-9fdf-e8998daa0950")
142 IImageList : public IUnknown
143 {
144     virtual HRESULT STDMETHODCALLTYPE Add(
145         HBITMAP hbmImage,
146         HBITMAP hbmMask,
147         int *pi) = 0;
148 
149     virtual HRESULT STDMETHODCALLTYPE ReplaceIcon(
150         int i,
151         HICON hicon,
152         int *pi) = 0;
153 
154     virtual HRESULT STDMETHODCALLTYPE SetOverlayImage(
155         int iImage,
156         int iOverlay) = 0;
157 
158     virtual HRESULT STDMETHODCALLTYPE Replace(
159         int i,
160         HBITMAP hbmImage,
161         HBITMAP hbmMask) = 0;
162 
163     virtual HRESULT STDMETHODCALLTYPE AddMasked(
164         HBITMAP hbmImage,
165         COLORREF crMask,
166         int *pi) = 0;
167 
168     virtual HRESULT STDMETHODCALLTYPE Draw(
169         IMAGELISTDRAWPARAMS *pimldp) = 0;
170 
171     virtual HRESULT STDMETHODCALLTYPE Remove(
172         int i) = 0;
173 
174     virtual HRESULT STDMETHODCALLTYPE GetIcon(
175         int i,
176         UINT flags,
177         HICON *picon) = 0;
178 
179     virtual HRESULT STDMETHODCALLTYPE GetImageInfo(
180         int i,
181         IMAGEINFO *pImageInfo) = 0;
182 
183     virtual HRESULT STDMETHODCALLTYPE Copy(
184         int iDst,
185         IUnknown *punkSrc,
186         int iSrc,
187         UINT uFlags) = 0;
188 
189     virtual HRESULT STDMETHODCALLTYPE Merge(
190         int i1,
191         IUnknown *punk2,
192         int i2,
193         int dx,
194         int dy,
195         REFIID riid,
196         void **ppv) = 0;
197 
198     virtual HRESULT STDMETHODCALLTYPE Clone(
199         REFIID riid,
200         void **ppv) = 0;
201 
202     virtual HRESULT STDMETHODCALLTYPE GetImageRect(
203         int i,
204         RECT *prc) = 0;
205 
206     virtual HRESULT STDMETHODCALLTYPE GetIconSize(
207         int *cx,
208         int *cy) = 0;
209 
210     virtual HRESULT STDMETHODCALLTYPE SetIconSize(
211         int cx,
212         int cy) = 0;
213 
214     virtual HRESULT STDMETHODCALLTYPE GetImageCount(
215         int *pi) = 0;
216 
217     virtual HRESULT STDMETHODCALLTYPE SetImageCount(
218         UINT uNewCount) = 0;
219 
220     virtual HRESULT STDMETHODCALLTYPE SetBkColor(
221         COLORREF clrBk,
222         COLORREF *pclr) = 0;
223 
224     virtual HRESULT STDMETHODCALLTYPE GetBkColor(
225         COLORREF *pclr) = 0;
226 
227     virtual HRESULT STDMETHODCALLTYPE BeginDrag(
228         int iTrack,
229         int dxHotspot,
230         int dyHotspot) = 0;
231 
232     virtual HRESULT STDMETHODCALLTYPE EndDrag(
233         ) = 0;
234 
235     virtual HRESULT STDMETHODCALLTYPE DragEnter(
236         HWND hwndLock,
237         int x,
238         int y) = 0;
239 
240     virtual HRESULT STDMETHODCALLTYPE DragLeave(
241         HWND hwndLock) = 0;
242 
243     virtual HRESULT STDMETHODCALLTYPE DragMove(
244         int x,
245         int y) = 0;
246 
247     virtual HRESULT STDMETHODCALLTYPE SetDragCursorImage(
248         IUnknown *punk,
249         int iDrag,
250         int dxHotspot,
251         int dyHotspot) = 0;
252 
253     virtual HRESULT STDMETHODCALLTYPE DragShowNolock(
254         WINBOOL fShow) = 0;
255 
256     virtual HRESULT STDMETHODCALLTYPE GetDragImage(
257         POINT *ppt,
258         POINT *pptHotspot,
259         REFIID riid,
260         void **ppv) = 0;
261 
262     virtual HRESULT STDMETHODCALLTYPE GetItemFlags(
263         int i,
264         DWORD *dwFlags) = 0;
265 
266     virtual HRESULT STDMETHODCALLTYPE GetOverlayImage(
267         int iOverlay,
268         int *piIndex) = 0;
269 
270 };
271 #ifdef __CRT_UUID_DECL
272 __CRT_UUID_DECL(IImageList, 0x46eb5926, 0x582e, 0x4017, 0x9f,0xdf, 0xe8,0x99,0x8d,0xaa,0x09,0x50)
273 #endif
274 #else
275 typedef struct IImageListVtbl {
276     BEGIN_INTERFACE
277 
278     /*** IUnknown methods ***/
279     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
280         IImageList* This,
281         REFIID riid,
282         void **ppvObject);
283 
284     ULONG (STDMETHODCALLTYPE *AddRef)(
285         IImageList* This);
286 
287     ULONG (STDMETHODCALLTYPE *Release)(
288         IImageList* This);
289 
290     /*** IImageList methods ***/
291     HRESULT (STDMETHODCALLTYPE *Add)(
292         IImageList* This,
293         HBITMAP hbmImage,
294         HBITMAP hbmMask,
295         int *pi);
296 
297     HRESULT (STDMETHODCALLTYPE *ReplaceIcon)(
298         IImageList* This,
299         int i,
300         HICON hicon,
301         int *pi);
302 
303     HRESULT (STDMETHODCALLTYPE *SetOverlayImage)(
304         IImageList* This,
305         int iImage,
306         int iOverlay);
307 
308     HRESULT (STDMETHODCALLTYPE *Replace)(
309         IImageList* This,
310         int i,
311         HBITMAP hbmImage,
312         HBITMAP hbmMask);
313 
314     HRESULT (STDMETHODCALLTYPE *AddMasked)(
315         IImageList* This,
316         HBITMAP hbmImage,
317         COLORREF crMask,
318         int *pi);
319 
320     HRESULT (STDMETHODCALLTYPE *Draw)(
321         IImageList* This,
322         IMAGELISTDRAWPARAMS *pimldp);
323 
324     HRESULT (STDMETHODCALLTYPE *Remove)(
325         IImageList* This,
326         int i);
327 
328     HRESULT (STDMETHODCALLTYPE *GetIcon)(
329         IImageList* This,
330         int i,
331         UINT flags,
332         HICON *picon);
333 
334     HRESULT (STDMETHODCALLTYPE *GetImageInfo)(
335         IImageList* This,
336         int i,
337         IMAGEINFO *pImageInfo);
338 
339     HRESULT (STDMETHODCALLTYPE *Copy)(
340         IImageList* This,
341         int iDst,
342         IUnknown *punkSrc,
343         int iSrc,
344         UINT uFlags);
345 
346     HRESULT (STDMETHODCALLTYPE *Merge)(
347         IImageList* This,
348         int i1,
349         IUnknown *punk2,
350         int i2,
351         int dx,
352         int dy,
353         REFIID riid,
354         void **ppv);
355 
356     HRESULT (STDMETHODCALLTYPE *Clone)(
357         IImageList* This,
358         REFIID riid,
359         void **ppv);
360 
361     HRESULT (STDMETHODCALLTYPE *GetImageRect)(
362         IImageList* This,
363         int i,
364         RECT *prc);
365 
366     HRESULT (STDMETHODCALLTYPE *GetIconSize)(
367         IImageList* This,
368         int *cx,
369         int *cy);
370 
371     HRESULT (STDMETHODCALLTYPE *SetIconSize)(
372         IImageList* This,
373         int cx,
374         int cy);
375 
376     HRESULT (STDMETHODCALLTYPE *GetImageCount)(
377         IImageList* This,
378         int *pi);
379 
380     HRESULT (STDMETHODCALLTYPE *SetImageCount)(
381         IImageList* This,
382         UINT uNewCount);
383 
384     HRESULT (STDMETHODCALLTYPE *SetBkColor)(
385         IImageList* This,
386         COLORREF clrBk,
387         COLORREF *pclr);
388 
389     HRESULT (STDMETHODCALLTYPE *GetBkColor)(
390         IImageList* This,
391         COLORREF *pclr);
392 
393     HRESULT (STDMETHODCALLTYPE *BeginDrag)(
394         IImageList* This,
395         int iTrack,
396         int dxHotspot,
397         int dyHotspot);
398 
399     HRESULT (STDMETHODCALLTYPE *EndDrag)(
400         IImageList* This);
401 
402     HRESULT (STDMETHODCALLTYPE *DragEnter)(
403         IImageList* This,
404         HWND hwndLock,
405         int x,
406         int y);
407 
408     HRESULT (STDMETHODCALLTYPE *DragLeave)(
409         IImageList* This,
410         HWND hwndLock);
411 
412     HRESULT (STDMETHODCALLTYPE *DragMove)(
413         IImageList* This,
414         int x,
415         int y);
416 
417     HRESULT (STDMETHODCALLTYPE *SetDragCursorImage)(
418         IImageList* This,
419         IUnknown *punk,
420         int iDrag,
421         int dxHotspot,
422         int dyHotspot);
423 
424     HRESULT (STDMETHODCALLTYPE *DragShowNolock)(
425         IImageList* This,
426         WINBOOL fShow);
427 
428     HRESULT (STDMETHODCALLTYPE *GetDragImage)(
429         IImageList* This,
430         POINT *ppt,
431         POINT *pptHotspot,
432         REFIID riid,
433         void **ppv);
434 
435     HRESULT (STDMETHODCALLTYPE *GetItemFlags)(
436         IImageList* This,
437         int i,
438         DWORD *dwFlags);
439 
440     HRESULT (STDMETHODCALLTYPE *GetOverlayImage)(
441         IImageList* This,
442         int iOverlay,
443         int *piIndex);
444 
445     END_INTERFACE
446 } IImageListVtbl;
447 interface IImageList {
448     CONST_VTBL IImageListVtbl* lpVtbl;
449 };
450 
451 #ifdef COBJMACROS
452 #ifndef WIDL_C_INLINE_WRAPPERS
453 /*** IUnknown methods ***/
454 #define IImageList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
455 #define IImageList_AddRef(This) (This)->lpVtbl->AddRef(This)
456 #define IImageList_Release(This) (This)->lpVtbl->Release(This)
457 /*** IImageList methods ***/
458 #define IImageList_Add(This,hbmImage,hbmMask,pi) (This)->lpVtbl->Add(This,hbmImage,hbmMask,pi)
459 #define IImageList_ReplaceIcon(This,i,hicon,pi) (This)->lpVtbl->ReplaceIcon(This,i,hicon,pi)
460 #define IImageList_SetOverlayImage(This,iImage,iOverlay) (This)->lpVtbl->SetOverlayImage(This,iImage,iOverlay)
461 #define IImageList_Replace(This,i,hbmImage,hbmMask) (This)->lpVtbl->Replace(This,i,hbmImage,hbmMask)
462 #define IImageList_AddMasked(This,hbmImage,crMask,pi) (This)->lpVtbl->AddMasked(This,hbmImage,crMask,pi)
463 #define IImageList_Draw(This,pimldp) (This)->lpVtbl->Draw(This,pimldp)
464 #define IImageList_Remove(This,i) (This)->lpVtbl->Remove(This,i)
465 #define IImageList_GetIcon(This,i,flags,picon) (This)->lpVtbl->GetIcon(This,i,flags,picon)
466 #define IImageList_GetImageInfo(This,i,pImageInfo) (This)->lpVtbl->GetImageInfo(This,i,pImageInfo)
467 #define IImageList_Copy(This,iDst,punkSrc,iSrc,uFlags) (This)->lpVtbl->Copy(This,iDst,punkSrc,iSrc,uFlags)
468 #define IImageList_Merge(This,i1,punk2,i2,dx,dy,riid,ppv) (This)->lpVtbl->Merge(This,i1,punk2,i2,dx,dy,riid,ppv)
469 #define IImageList_Clone(This,riid,ppv) (This)->lpVtbl->Clone(This,riid,ppv)
470 #define IImageList_GetImageRect(This,i,prc) (This)->lpVtbl->GetImageRect(This,i,prc)
471 #define IImageList_GetIconSize(This,cx,cy) (This)->lpVtbl->GetIconSize(This,cx,cy)
472 #define IImageList_SetIconSize(This,cx,cy) (This)->lpVtbl->SetIconSize(This,cx,cy)
473 #define IImageList_GetImageCount(This,pi) (This)->lpVtbl->GetImageCount(This,pi)
474 #define IImageList_SetImageCount(This,uNewCount) (This)->lpVtbl->SetImageCount(This,uNewCount)
475 #define IImageList_SetBkColor(This,clrBk,pclr) (This)->lpVtbl->SetBkColor(This,clrBk,pclr)
476 #define IImageList_GetBkColor(This,pclr) (This)->lpVtbl->GetBkColor(This,pclr)
477 #define IImageList_BeginDrag(This,iTrack,dxHotspot,dyHotspot) (This)->lpVtbl->BeginDrag(This,iTrack,dxHotspot,dyHotspot)
478 #define IImageList_EndDrag(This) (This)->lpVtbl->EndDrag(This)
479 #define IImageList_DragEnter(This,hwndLock,x,y) (This)->lpVtbl->DragEnter(This,hwndLock,x,y)
480 #define IImageList_DragLeave(This,hwndLock) (This)->lpVtbl->DragLeave(This,hwndLock)
481 #define IImageList_DragMove(This,x,y) (This)->lpVtbl->DragMove(This,x,y)
482 #define IImageList_SetDragCursorImage(This,punk,iDrag,dxHotspot,dyHotspot) (This)->lpVtbl->SetDragCursorImage(This,punk,iDrag,dxHotspot,dyHotspot)
483 #define IImageList_DragShowNolock(This,fShow) (This)->lpVtbl->DragShowNolock(This,fShow)
484 #define IImageList_GetDragImage(This,ppt,pptHotspot,riid,ppv) (This)->lpVtbl->GetDragImage(This,ppt,pptHotspot,riid,ppv)
485 #define IImageList_GetItemFlags(This,i,dwFlags) (This)->lpVtbl->GetItemFlags(This,i,dwFlags)
486 #define IImageList_GetOverlayImage(This,iOverlay,piIndex) (This)->lpVtbl->GetOverlayImage(This,iOverlay,piIndex)
487 #else
488 /*** IUnknown methods ***/
489 static FORCEINLINE HRESULT IImageList_QueryInterface(IImageList* This,REFIID riid,void **ppvObject) {
490     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
491 }
492 static FORCEINLINE ULONG IImageList_AddRef(IImageList* This) {
493     return This->lpVtbl->AddRef(This);
494 }
495 static FORCEINLINE ULONG IImageList_Release(IImageList* This) {
496     return This->lpVtbl->Release(This);
497 }
498 /*** IImageList methods ***/
499 static FORCEINLINE HRESULT IImageList_Add(IImageList* This,HBITMAP hbmImage,HBITMAP hbmMask,int *pi) {
500     return This->lpVtbl->Add(This,hbmImage,hbmMask,pi);
501 }
502 static FORCEINLINE HRESULT IImageList_ReplaceIcon(IImageList* This,int i,HICON hicon,int *pi) {
503     return This->lpVtbl->ReplaceIcon(This,i,hicon,pi);
504 }
505 static FORCEINLINE HRESULT IImageList_SetOverlayImage(IImageList* This,int iImage,int iOverlay) {
506     return This->lpVtbl->SetOverlayImage(This,iImage,iOverlay);
507 }
508 static FORCEINLINE HRESULT IImageList_Replace(IImageList* This,int i,HBITMAP hbmImage,HBITMAP hbmMask) {
509     return This->lpVtbl->Replace(This,i,hbmImage,hbmMask);
510 }
511 static FORCEINLINE HRESULT IImageList_AddMasked(IImageList* This,HBITMAP hbmImage,COLORREF crMask,int *pi) {
512     return This->lpVtbl->AddMasked(This,hbmImage,crMask,pi);
513 }
514 static FORCEINLINE HRESULT IImageList_Draw(IImageList* This,IMAGELISTDRAWPARAMS *pimldp) {
515     return This->lpVtbl->Draw(This,pimldp);
516 }
517 static FORCEINLINE HRESULT IImageList_Remove(IImageList* This,int i) {
518     return This->lpVtbl->Remove(This,i);
519 }
520 static FORCEINLINE HRESULT IImageList_GetIcon(IImageList* This,int i,UINT flags,HICON *picon) {
521     return This->lpVtbl->GetIcon(This,i,flags,picon);
522 }
523 static FORCEINLINE HRESULT IImageList_GetImageInfo(IImageList* This,int i,IMAGEINFO *pImageInfo) {
524     return This->lpVtbl->GetImageInfo(This,i,pImageInfo);
525 }
526 static FORCEINLINE HRESULT IImageList_Copy(IImageList* This,int iDst,IUnknown *punkSrc,int iSrc,UINT uFlags) {
527     return This->lpVtbl->Copy(This,iDst,punkSrc,iSrc,uFlags);
528 }
529 static FORCEINLINE HRESULT IImageList_Merge(IImageList* This,int i1,IUnknown *punk2,int i2,int dx,int dy,REFIID riid,void **ppv) {
530     return This->lpVtbl->Merge(This,i1,punk2,i2,dx,dy,riid,ppv);
531 }
532 static FORCEINLINE HRESULT IImageList_Clone(IImageList* This,REFIID riid,void **ppv) {
533     return This->lpVtbl->Clone(This,riid,ppv);
534 }
535 static FORCEINLINE HRESULT IImageList_GetImageRect(IImageList* This,int i,RECT *prc) {
536     return This->lpVtbl->GetImageRect(This,i,prc);
537 }
538 static FORCEINLINE HRESULT IImageList_GetIconSize(IImageList* This,int *cx,int *cy) {
539     return This->lpVtbl->GetIconSize(This,cx,cy);
540 }
541 static FORCEINLINE HRESULT IImageList_SetIconSize(IImageList* This,int cx,int cy) {
542     return This->lpVtbl->SetIconSize(This,cx,cy);
543 }
544 static FORCEINLINE HRESULT IImageList_GetImageCount(IImageList* This,int *pi) {
545     return This->lpVtbl->GetImageCount(This,pi);
546 }
547 static FORCEINLINE HRESULT IImageList_SetImageCount(IImageList* This,UINT uNewCount) {
548     return This->lpVtbl->SetImageCount(This,uNewCount);
549 }
550 static FORCEINLINE HRESULT IImageList_SetBkColor(IImageList* This,COLORREF clrBk,COLORREF *pclr) {
551     return This->lpVtbl->SetBkColor(This,clrBk,pclr);
552 }
553 static FORCEINLINE HRESULT IImageList_GetBkColor(IImageList* This,COLORREF *pclr) {
554     return This->lpVtbl->GetBkColor(This,pclr);
555 }
556 static FORCEINLINE HRESULT IImageList_BeginDrag(IImageList* This,int iTrack,int dxHotspot,int dyHotspot) {
557     return This->lpVtbl->BeginDrag(This,iTrack,dxHotspot,dyHotspot);
558 }
559 static FORCEINLINE HRESULT IImageList_EndDrag(IImageList* This) {
560     return This->lpVtbl->EndDrag(This);
561 }
562 static FORCEINLINE HRESULT IImageList_DragEnter(IImageList* This,HWND hwndLock,int x,int y) {
563     return This->lpVtbl->DragEnter(This,hwndLock,x,y);
564 }
565 static FORCEINLINE HRESULT IImageList_DragLeave(IImageList* This,HWND hwndLock) {
566     return This->lpVtbl->DragLeave(This,hwndLock);
567 }
568 static FORCEINLINE HRESULT IImageList_DragMove(IImageList* This,int x,int y) {
569     return This->lpVtbl->DragMove(This,x,y);
570 }
571 static FORCEINLINE HRESULT IImageList_SetDragCursorImage(IImageList* This,IUnknown *punk,int iDrag,int dxHotspot,int dyHotspot) {
572     return This->lpVtbl->SetDragCursorImage(This,punk,iDrag,dxHotspot,dyHotspot);
573 }
574 static FORCEINLINE HRESULT IImageList_DragShowNolock(IImageList* This,WINBOOL fShow) {
575     return This->lpVtbl->DragShowNolock(This,fShow);
576 }
577 static FORCEINLINE HRESULT IImageList_GetDragImage(IImageList* This,POINT *ppt,POINT *pptHotspot,REFIID riid,void **ppv) {
578     return This->lpVtbl->GetDragImage(This,ppt,pptHotspot,riid,ppv);
579 }
580 static FORCEINLINE HRESULT IImageList_GetItemFlags(IImageList* This,int i,DWORD *dwFlags) {
581     return This->lpVtbl->GetItemFlags(This,i,dwFlags);
582 }
583 static FORCEINLINE HRESULT IImageList_GetOverlayImage(IImageList* This,int iOverlay,int *piIndex) {
584     return This->lpVtbl->GetOverlayImage(This,iOverlay,piIndex);
585 }
586 #endif
587 #endif
588 
589 #endif
590 
591 HRESULT STDMETHODCALLTYPE IImageList_Add_Proxy(
592     IImageList* This,
593     HBITMAP hbmImage,
594     HBITMAP hbmMask,
595     int *pi);
596 void __RPC_STUB IImageList_Add_Stub(
597     IRpcStubBuffer* This,
598     IRpcChannelBuffer* pRpcChannelBuffer,
599     PRPC_MESSAGE pRpcMessage,
600     DWORD* pdwStubPhase);
601 HRESULT STDMETHODCALLTYPE IImageList_ReplaceIcon_Proxy(
602     IImageList* This,
603     int i,
604     HICON hicon,
605     int *pi);
606 void __RPC_STUB IImageList_ReplaceIcon_Stub(
607     IRpcStubBuffer* This,
608     IRpcChannelBuffer* pRpcChannelBuffer,
609     PRPC_MESSAGE pRpcMessage,
610     DWORD* pdwStubPhase);
611 HRESULT STDMETHODCALLTYPE IImageList_SetOverlayImage_Proxy(
612     IImageList* This,
613     int iImage,
614     int iOverlay);
615 void __RPC_STUB IImageList_SetOverlayImage_Stub(
616     IRpcStubBuffer* This,
617     IRpcChannelBuffer* pRpcChannelBuffer,
618     PRPC_MESSAGE pRpcMessage,
619     DWORD* pdwStubPhase);
620 HRESULT STDMETHODCALLTYPE IImageList_Replace_Proxy(
621     IImageList* This,
622     int i,
623     HBITMAP hbmImage,
624     HBITMAP hbmMask);
625 void __RPC_STUB IImageList_Replace_Stub(
626     IRpcStubBuffer* This,
627     IRpcChannelBuffer* pRpcChannelBuffer,
628     PRPC_MESSAGE pRpcMessage,
629     DWORD* pdwStubPhase);
630 HRESULT STDMETHODCALLTYPE IImageList_AddMasked_Proxy(
631     IImageList* This,
632     HBITMAP hbmImage,
633     COLORREF crMask,
634     int *pi);
635 void __RPC_STUB IImageList_AddMasked_Stub(
636     IRpcStubBuffer* This,
637     IRpcChannelBuffer* pRpcChannelBuffer,
638     PRPC_MESSAGE pRpcMessage,
639     DWORD* pdwStubPhase);
640 HRESULT STDMETHODCALLTYPE IImageList_Draw_Proxy(
641     IImageList* This,
642     IMAGELISTDRAWPARAMS *pimldp);
643 void __RPC_STUB IImageList_Draw_Stub(
644     IRpcStubBuffer* This,
645     IRpcChannelBuffer* pRpcChannelBuffer,
646     PRPC_MESSAGE pRpcMessage,
647     DWORD* pdwStubPhase);
648 HRESULT STDMETHODCALLTYPE IImageList_Remove_Proxy(
649     IImageList* This,
650     int i);
651 void __RPC_STUB IImageList_Remove_Stub(
652     IRpcStubBuffer* This,
653     IRpcChannelBuffer* pRpcChannelBuffer,
654     PRPC_MESSAGE pRpcMessage,
655     DWORD* pdwStubPhase);
656 HRESULT STDMETHODCALLTYPE IImageList_GetIcon_Proxy(
657     IImageList* This,
658     int i,
659     UINT flags,
660     HICON *picon);
661 void __RPC_STUB IImageList_GetIcon_Stub(
662     IRpcStubBuffer* This,
663     IRpcChannelBuffer* pRpcChannelBuffer,
664     PRPC_MESSAGE pRpcMessage,
665     DWORD* pdwStubPhase);
666 HRESULT STDMETHODCALLTYPE IImageList_GetImageInfo_Proxy(
667     IImageList* This,
668     int i,
669     IMAGEINFO *pImageInfo);
670 void __RPC_STUB IImageList_GetImageInfo_Stub(
671     IRpcStubBuffer* This,
672     IRpcChannelBuffer* pRpcChannelBuffer,
673     PRPC_MESSAGE pRpcMessage,
674     DWORD* pdwStubPhase);
675 HRESULT STDMETHODCALLTYPE IImageList_Copy_Proxy(
676     IImageList* This,
677     int iDst,
678     IUnknown *punkSrc,
679     int iSrc,
680     UINT uFlags);
681 void __RPC_STUB IImageList_Copy_Stub(
682     IRpcStubBuffer* This,
683     IRpcChannelBuffer* pRpcChannelBuffer,
684     PRPC_MESSAGE pRpcMessage,
685     DWORD* pdwStubPhase);
686 HRESULT STDMETHODCALLTYPE IImageList_Merge_Proxy(
687     IImageList* This,
688     int i1,
689     IUnknown *punk2,
690     int i2,
691     int dx,
692     int dy,
693     REFIID riid,
694     void **ppv);
695 void __RPC_STUB IImageList_Merge_Stub(
696     IRpcStubBuffer* This,
697     IRpcChannelBuffer* pRpcChannelBuffer,
698     PRPC_MESSAGE pRpcMessage,
699     DWORD* pdwStubPhase);
700 HRESULT STDMETHODCALLTYPE IImageList_Clone_Proxy(
701     IImageList* This,
702     REFIID riid,
703     void **ppv);
704 void __RPC_STUB IImageList_Clone_Stub(
705     IRpcStubBuffer* This,
706     IRpcChannelBuffer* pRpcChannelBuffer,
707     PRPC_MESSAGE pRpcMessage,
708     DWORD* pdwStubPhase);
709 HRESULT STDMETHODCALLTYPE IImageList_GetImageRect_Proxy(
710     IImageList* This,
711     int i,
712     RECT *prc);
713 void __RPC_STUB IImageList_GetImageRect_Stub(
714     IRpcStubBuffer* This,
715     IRpcChannelBuffer* pRpcChannelBuffer,
716     PRPC_MESSAGE pRpcMessage,
717     DWORD* pdwStubPhase);
718 HRESULT STDMETHODCALLTYPE IImageList_GetIconSize_Proxy(
719     IImageList* This,
720     int *cx,
721     int *cy);
722 void __RPC_STUB IImageList_GetIconSize_Stub(
723     IRpcStubBuffer* This,
724     IRpcChannelBuffer* pRpcChannelBuffer,
725     PRPC_MESSAGE pRpcMessage,
726     DWORD* pdwStubPhase);
727 HRESULT STDMETHODCALLTYPE IImageList_SetIconSize_Proxy(
728     IImageList* This,
729     int cx,
730     int cy);
731 void __RPC_STUB IImageList_SetIconSize_Stub(
732     IRpcStubBuffer* This,
733     IRpcChannelBuffer* pRpcChannelBuffer,
734     PRPC_MESSAGE pRpcMessage,
735     DWORD* pdwStubPhase);
736 HRESULT STDMETHODCALLTYPE IImageList_GetImageCount_Proxy(
737     IImageList* This,
738     int *pi);
739 void __RPC_STUB IImageList_GetImageCount_Stub(
740     IRpcStubBuffer* This,
741     IRpcChannelBuffer* pRpcChannelBuffer,
742     PRPC_MESSAGE pRpcMessage,
743     DWORD* pdwStubPhase);
744 HRESULT STDMETHODCALLTYPE IImageList_SetImageCount_Proxy(
745     IImageList* This,
746     UINT uNewCount);
747 void __RPC_STUB IImageList_SetImageCount_Stub(
748     IRpcStubBuffer* This,
749     IRpcChannelBuffer* pRpcChannelBuffer,
750     PRPC_MESSAGE pRpcMessage,
751     DWORD* pdwStubPhase);
752 HRESULT STDMETHODCALLTYPE IImageList_SetBkColor_Proxy(
753     IImageList* This,
754     COLORREF clrBk,
755     COLORREF *pclr);
756 void __RPC_STUB IImageList_SetBkColor_Stub(
757     IRpcStubBuffer* This,
758     IRpcChannelBuffer* pRpcChannelBuffer,
759     PRPC_MESSAGE pRpcMessage,
760     DWORD* pdwStubPhase);
761 HRESULT STDMETHODCALLTYPE IImageList_GetBkColor_Proxy(
762     IImageList* This,
763     COLORREF *pclr);
764 void __RPC_STUB IImageList_GetBkColor_Stub(
765     IRpcStubBuffer* This,
766     IRpcChannelBuffer* pRpcChannelBuffer,
767     PRPC_MESSAGE pRpcMessage,
768     DWORD* pdwStubPhase);
769 HRESULT STDMETHODCALLTYPE IImageList_BeginDrag_Proxy(
770     IImageList* This,
771     int iTrack,
772     int dxHotspot,
773     int dyHotspot);
774 void __RPC_STUB IImageList_BeginDrag_Stub(
775     IRpcStubBuffer* This,
776     IRpcChannelBuffer* pRpcChannelBuffer,
777     PRPC_MESSAGE pRpcMessage,
778     DWORD* pdwStubPhase);
779 HRESULT STDMETHODCALLTYPE IImageList_EndDrag_Proxy(
780     IImageList* This);
781 void __RPC_STUB IImageList_EndDrag_Stub(
782     IRpcStubBuffer* This,
783     IRpcChannelBuffer* pRpcChannelBuffer,
784     PRPC_MESSAGE pRpcMessage,
785     DWORD* pdwStubPhase);
786 HRESULT STDMETHODCALLTYPE IImageList_DragEnter_Proxy(
787     IImageList* This,
788     HWND hwndLock,
789     int x,
790     int y);
791 void __RPC_STUB IImageList_DragEnter_Stub(
792     IRpcStubBuffer* This,
793     IRpcChannelBuffer* pRpcChannelBuffer,
794     PRPC_MESSAGE pRpcMessage,
795     DWORD* pdwStubPhase);
796 HRESULT STDMETHODCALLTYPE IImageList_DragLeave_Proxy(
797     IImageList* This,
798     HWND hwndLock);
799 void __RPC_STUB IImageList_DragLeave_Stub(
800     IRpcStubBuffer* This,
801     IRpcChannelBuffer* pRpcChannelBuffer,
802     PRPC_MESSAGE pRpcMessage,
803     DWORD* pdwStubPhase);
804 HRESULT STDMETHODCALLTYPE IImageList_DragMove_Proxy(
805     IImageList* This,
806     int x,
807     int y);
808 void __RPC_STUB IImageList_DragMove_Stub(
809     IRpcStubBuffer* This,
810     IRpcChannelBuffer* pRpcChannelBuffer,
811     PRPC_MESSAGE pRpcMessage,
812     DWORD* pdwStubPhase);
813 HRESULT STDMETHODCALLTYPE IImageList_SetDragCursorImage_Proxy(
814     IImageList* This,
815     IUnknown *punk,
816     int iDrag,
817     int dxHotspot,
818     int dyHotspot);
819 void __RPC_STUB IImageList_SetDragCursorImage_Stub(
820     IRpcStubBuffer* This,
821     IRpcChannelBuffer* pRpcChannelBuffer,
822     PRPC_MESSAGE pRpcMessage,
823     DWORD* pdwStubPhase);
824 HRESULT STDMETHODCALLTYPE IImageList_DragShowNolock_Proxy(
825     IImageList* This,
826     WINBOOL fShow);
827 void __RPC_STUB IImageList_DragShowNolock_Stub(
828     IRpcStubBuffer* This,
829     IRpcChannelBuffer* pRpcChannelBuffer,
830     PRPC_MESSAGE pRpcMessage,
831     DWORD* pdwStubPhase);
832 HRESULT STDMETHODCALLTYPE IImageList_GetDragImage_Proxy(
833     IImageList* This,
834     POINT *ppt,
835     POINT *pptHotspot,
836     REFIID riid,
837     void **ppv);
838 void __RPC_STUB IImageList_GetDragImage_Stub(
839     IRpcStubBuffer* This,
840     IRpcChannelBuffer* pRpcChannelBuffer,
841     PRPC_MESSAGE pRpcMessage,
842     DWORD* pdwStubPhase);
843 HRESULT STDMETHODCALLTYPE IImageList_GetItemFlags_Proxy(
844     IImageList* This,
845     int i,
846     DWORD *dwFlags);
847 void __RPC_STUB IImageList_GetItemFlags_Stub(
848     IRpcStubBuffer* This,
849     IRpcChannelBuffer* pRpcChannelBuffer,
850     PRPC_MESSAGE pRpcMessage,
851     DWORD* pdwStubPhase);
852 HRESULT STDMETHODCALLTYPE IImageList_GetOverlayImage_Proxy(
853     IImageList* This,
854     int iOverlay,
855     int *piIndex);
856 void __RPC_STUB IImageList_GetOverlayImage_Stub(
857     IRpcStubBuffer* This,
858     IRpcChannelBuffer* pRpcChannelBuffer,
859     PRPC_MESSAGE pRpcMessage,
860     DWORD* pdwStubPhase);
861 
862 #endif  /* __IImageList_INTERFACE_DEFINED__ */
863 
864 /*****************************************************************************
865  * IImageList2 interface
866  */
867 #ifndef __IImageList2_INTERFACE_DEFINED__
868 #define __IImageList2_INTERFACE_DEFINED__
869 
870 DEFINE_GUID(IID_IImageList2, 0x192b9d83, 0x50fc, 0x457b, 0x90,0xa0, 0x2b,0x82,0xa8,0xb5,0xda,0xe1);
871 #if defined(__cplusplus) && !defined(CINTERFACE)
872 MIDL_INTERFACE("192b9d83-50fc-457b-90a0-2b82a8b5dae1")
873 IImageList2 : public IImageList
874 {
875     virtual HRESULT STDMETHODCALLTYPE Resize(
876         int cxNewIconSize,
877         int cyNewIconSize) = 0;
878 
879     virtual HRESULT STDMETHODCALLTYPE GetOriginalSize(
880         int iImage,
881         DWORD dwFlags,
882         int *pcx,
883         int *pcy) = 0;
884 
885     virtual HRESULT STDMETHODCALLTYPE SetOriginalSize(
886         int iImage,
887         int cx,
888         int cy) = 0;
889 
890     virtual HRESULT STDMETHODCALLTYPE SetCallback(
891         IUnknown *punk) = 0;
892 
893     virtual HRESULT STDMETHODCALLTYPE GetCallback(
894         REFIID riid,
895         void **ppv) = 0;
896 
897     virtual HRESULT STDMETHODCALLTYPE ForceImagePresent(
898         int iImage,
899         DWORD dwFlags) = 0;
900 
901     virtual HRESULT STDMETHODCALLTYPE DiscardImages(
902         int iFirstImage,
903         int iLastImage,
904         DWORD dwFlags) = 0;
905 
906     virtual HRESULT STDMETHODCALLTYPE PreloadImages(
907         IMAGELISTDRAWPARAMS *pimldp) = 0;
908 
909     virtual HRESULT STDMETHODCALLTYPE GetStatistics(
910         IMAGELISTSTATS *pils) = 0;
911 
912     virtual HRESULT STDMETHODCALLTYPE Initialize(
913         int cx,
914         int cy,
915         UINT flags,
916         int cInitial,
917         int cGrow) = 0;
918 
919     virtual HRESULT STDMETHODCALLTYPE Replace2(
920         int i,
921         HBITMAP hbmImage,
922         HBITMAP hbmMask,
923         IUnknown *punk,
924         DWORD dwFlags) = 0;
925 
926     virtual HRESULT STDMETHODCALLTYPE ReplaceFromImageList(
927         int i,
928         IImageList *pil,
929         int iSrc,
930         IUnknown *punk,
931         DWORD dwFlags) = 0;
932 
933 };
934 #ifdef __CRT_UUID_DECL
935 __CRT_UUID_DECL(IImageList2, 0x192b9d83, 0x50fc, 0x457b, 0x90,0xa0, 0x2b,0x82,0xa8,0xb5,0xda,0xe1)
936 #endif
937 #else
938 typedef struct IImageList2Vtbl {
939     BEGIN_INTERFACE
940 
941     /*** IUnknown methods ***/
942     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
943         IImageList2* This,
944         REFIID riid,
945         void **ppvObject);
946 
947     ULONG (STDMETHODCALLTYPE *AddRef)(
948         IImageList2* This);
949 
950     ULONG (STDMETHODCALLTYPE *Release)(
951         IImageList2* This);
952 
953     /*** IImageList methods ***/
954     HRESULT (STDMETHODCALLTYPE *Add)(
955         IImageList2* This,
956         HBITMAP hbmImage,
957         HBITMAP hbmMask,
958         int *pi);
959 
960     HRESULT (STDMETHODCALLTYPE *ReplaceIcon)(
961         IImageList2* This,
962         int i,
963         HICON hicon,
964         int *pi);
965 
966     HRESULT (STDMETHODCALLTYPE *SetOverlayImage)(
967         IImageList2* This,
968         int iImage,
969         int iOverlay);
970 
971     HRESULT (STDMETHODCALLTYPE *Replace)(
972         IImageList2* This,
973         int i,
974         HBITMAP hbmImage,
975         HBITMAP hbmMask);
976 
977     HRESULT (STDMETHODCALLTYPE *AddMasked)(
978         IImageList2* This,
979         HBITMAP hbmImage,
980         COLORREF crMask,
981         int *pi);
982 
983     HRESULT (STDMETHODCALLTYPE *Draw)(
984         IImageList2* This,
985         IMAGELISTDRAWPARAMS *pimldp);
986 
987     HRESULT (STDMETHODCALLTYPE *Remove)(
988         IImageList2* This,
989         int i);
990 
991     HRESULT (STDMETHODCALLTYPE *GetIcon)(
992         IImageList2* This,
993         int i,
994         UINT flags,
995         HICON *picon);
996 
997     HRESULT (STDMETHODCALLTYPE *GetImageInfo)(
998         IImageList2* This,
999         int i,
1000         IMAGEINFO *pImageInfo);
1001 
1002     HRESULT (STDMETHODCALLTYPE *Copy)(
1003         IImageList2* This,
1004         int iDst,
1005         IUnknown *punkSrc,
1006         int iSrc,
1007         UINT uFlags);
1008 
1009     HRESULT (STDMETHODCALLTYPE *Merge)(
1010         IImageList2* This,
1011         int i1,
1012         IUnknown *punk2,
1013         int i2,
1014         int dx,
1015         int dy,
1016         REFIID riid,
1017         void **ppv);
1018 
1019     HRESULT (STDMETHODCALLTYPE *Clone)(
1020         IImageList2* This,
1021         REFIID riid,
1022         void **ppv);
1023 
1024     HRESULT (STDMETHODCALLTYPE *GetImageRect)(
1025         IImageList2* This,
1026         int i,
1027         RECT *prc);
1028 
1029     HRESULT (STDMETHODCALLTYPE *GetIconSize)(
1030         IImageList2* This,
1031         int *cx,
1032         int *cy);
1033 
1034     HRESULT (STDMETHODCALLTYPE *SetIconSize)(
1035         IImageList2* This,
1036         int cx,
1037         int cy);
1038 
1039     HRESULT (STDMETHODCALLTYPE *GetImageCount)(
1040         IImageList2* This,
1041         int *pi);
1042 
1043     HRESULT (STDMETHODCALLTYPE *SetImageCount)(
1044         IImageList2* This,
1045         UINT uNewCount);
1046 
1047     HRESULT (STDMETHODCALLTYPE *SetBkColor)(
1048         IImageList2* This,
1049         COLORREF clrBk,
1050         COLORREF *pclr);
1051 
1052     HRESULT (STDMETHODCALLTYPE *GetBkColor)(
1053         IImageList2* This,
1054         COLORREF *pclr);
1055 
1056     HRESULT (STDMETHODCALLTYPE *BeginDrag)(
1057         IImageList2* This,
1058         int iTrack,
1059         int dxHotspot,
1060         int dyHotspot);
1061 
1062     HRESULT (STDMETHODCALLTYPE *EndDrag)(
1063         IImageList2* This);
1064 
1065     HRESULT (STDMETHODCALLTYPE *DragEnter)(
1066         IImageList2* This,
1067         HWND hwndLock,
1068         int x,
1069         int y);
1070 
1071     HRESULT (STDMETHODCALLTYPE *DragLeave)(
1072         IImageList2* This,
1073         HWND hwndLock);
1074 
1075     HRESULT (STDMETHODCALLTYPE *DragMove)(
1076         IImageList2* This,
1077         int x,
1078         int y);
1079 
1080     HRESULT (STDMETHODCALLTYPE *SetDragCursorImage)(
1081         IImageList2* This,
1082         IUnknown *punk,
1083         int iDrag,
1084         int dxHotspot,
1085         int dyHotspot);
1086 
1087     HRESULT (STDMETHODCALLTYPE *DragShowNolock)(
1088         IImageList2* This,
1089         WINBOOL fShow);
1090 
1091     HRESULT (STDMETHODCALLTYPE *GetDragImage)(
1092         IImageList2* This,
1093         POINT *ppt,
1094         POINT *pptHotspot,
1095         REFIID riid,
1096         void **ppv);
1097 
1098     HRESULT (STDMETHODCALLTYPE *GetItemFlags)(
1099         IImageList2* This,
1100         int i,
1101         DWORD *dwFlags);
1102 
1103     HRESULT (STDMETHODCALLTYPE *GetOverlayImage)(
1104         IImageList2* This,
1105         int iOverlay,
1106         int *piIndex);
1107 
1108     /*** IImageList2 methods ***/
1109     HRESULT (STDMETHODCALLTYPE *Resize)(
1110         IImageList2* This,
1111         int cxNewIconSize,
1112         int cyNewIconSize);
1113 
1114     HRESULT (STDMETHODCALLTYPE *GetOriginalSize)(
1115         IImageList2* This,
1116         int iImage,
1117         DWORD dwFlags,
1118         int *pcx,
1119         int *pcy);
1120 
1121     HRESULT (STDMETHODCALLTYPE *SetOriginalSize)(
1122         IImageList2* This,
1123         int iImage,
1124         int cx,
1125         int cy);
1126 
1127     HRESULT (STDMETHODCALLTYPE *SetCallback)(
1128         IImageList2* This,
1129         IUnknown *punk);
1130 
1131     HRESULT (STDMETHODCALLTYPE *GetCallback)(
1132         IImageList2* This,
1133         REFIID riid,
1134         void **ppv);
1135 
1136     HRESULT (STDMETHODCALLTYPE *ForceImagePresent)(
1137         IImageList2* This,
1138         int iImage,
1139         DWORD dwFlags);
1140 
1141     HRESULT (STDMETHODCALLTYPE *DiscardImages)(
1142         IImageList2* This,
1143         int iFirstImage,
1144         int iLastImage,
1145         DWORD dwFlags);
1146 
1147     HRESULT (STDMETHODCALLTYPE *PreloadImages)(
1148         IImageList2* This,
1149         IMAGELISTDRAWPARAMS *pimldp);
1150 
1151     HRESULT (STDMETHODCALLTYPE *GetStatistics)(
1152         IImageList2* This,
1153         IMAGELISTSTATS *pils);
1154 
1155     HRESULT (STDMETHODCALLTYPE *Initialize)(
1156         IImageList2* This,
1157         int cx,
1158         int cy,
1159         UINT flags,
1160         int cInitial,
1161         int cGrow);
1162 
1163     HRESULT (STDMETHODCALLTYPE *Replace2)(
1164         IImageList2* This,
1165         int i,
1166         HBITMAP hbmImage,
1167         HBITMAP hbmMask,
1168         IUnknown *punk,
1169         DWORD dwFlags);
1170 
1171     HRESULT (STDMETHODCALLTYPE *ReplaceFromImageList)(
1172         IImageList2* This,
1173         int i,
1174         IImageList *pil,
1175         int iSrc,
1176         IUnknown *punk,
1177         DWORD dwFlags);
1178 
1179     END_INTERFACE
1180 } IImageList2Vtbl;
1181 interface IImageList2 {
1182     CONST_VTBL IImageList2Vtbl* lpVtbl;
1183 };
1184 
1185 #ifdef COBJMACROS
1186 #ifndef WIDL_C_INLINE_WRAPPERS
1187 /*** IUnknown methods ***/
1188 #define IImageList2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1189 #define IImageList2_AddRef(This) (This)->lpVtbl->AddRef(This)
1190 #define IImageList2_Release(This) (This)->lpVtbl->Release(This)
1191 /*** IImageList methods ***/
1192 #define IImageList2_Add(This,hbmImage,hbmMask,pi) (This)->lpVtbl->Add(This,hbmImage,hbmMask,pi)
1193 #define IImageList2_ReplaceIcon(This,i,hicon,pi) (This)->lpVtbl->ReplaceIcon(This,i,hicon,pi)
1194 #define IImageList2_SetOverlayImage(This,iImage,iOverlay) (This)->lpVtbl->SetOverlayImage(This,iImage,iOverlay)
1195 #define IImageList2_Replace(This,i,hbmImage,hbmMask) (This)->lpVtbl->Replace(This,i,hbmImage,hbmMask)
1196 #define IImageList2_AddMasked(This,hbmImage,crMask,pi) (This)->lpVtbl->AddMasked(This,hbmImage,crMask,pi)
1197 #define IImageList2_Draw(This,pimldp) (This)->lpVtbl->Draw(This,pimldp)
1198 #define IImageList2_Remove(This,i) (This)->lpVtbl->Remove(This,i)
1199 #define IImageList2_GetIcon(This,i,flags,picon) (This)->lpVtbl->GetIcon(This,i,flags,picon)
1200 #define IImageList2_GetImageInfo(This,i,pImageInfo) (This)->lpVtbl->GetImageInfo(This,i,pImageInfo)
1201 #define IImageList2_Copy(This,iDst,punkSrc,iSrc,uFlags) (This)->lpVtbl->Copy(This,iDst,punkSrc,iSrc,uFlags)
1202 #define IImageList2_Merge(This,i1,punk2,i2,dx,dy,riid,ppv) (This)->lpVtbl->Merge(This,i1,punk2,i2,dx,dy,riid,ppv)
1203 #define IImageList2_Clone(This,riid,ppv) (This)->lpVtbl->Clone(This,riid,ppv)
1204 #define IImageList2_GetImageRect(This,i,prc) (This)->lpVtbl->GetImageRect(This,i,prc)
1205 #define IImageList2_GetIconSize(This,cx,cy) (This)->lpVtbl->GetIconSize(This,cx,cy)
1206 #define IImageList2_SetIconSize(This,cx,cy) (This)->lpVtbl->SetIconSize(This,cx,cy)
1207 #define IImageList2_GetImageCount(This,pi) (This)->lpVtbl->GetImageCount(This,pi)
1208 #define IImageList2_SetImageCount(This,uNewCount) (This)->lpVtbl->SetImageCount(This,uNewCount)
1209 #define IImageList2_SetBkColor(This,clrBk,pclr) (This)->lpVtbl->SetBkColor(This,clrBk,pclr)
1210 #define IImageList2_GetBkColor(This,pclr) (This)->lpVtbl->GetBkColor(This,pclr)
1211 #define IImageList2_BeginDrag(This,iTrack,dxHotspot,dyHotspot) (This)->lpVtbl->BeginDrag(This,iTrack,dxHotspot,dyHotspot)
1212 #define IImageList2_EndDrag(This) (This)->lpVtbl->EndDrag(This)
1213 #define IImageList2_DragEnter(This,hwndLock,x,y) (This)->lpVtbl->DragEnter(This,hwndLock,x,y)
1214 #define IImageList2_DragLeave(This,hwndLock) (This)->lpVtbl->DragLeave(This,hwndLock)
1215 #define IImageList2_DragMove(This,x,y) (This)->lpVtbl->DragMove(This,x,y)
1216 #define IImageList2_SetDragCursorImage(This,punk,iDrag,dxHotspot,dyHotspot) (This)->lpVtbl->SetDragCursorImage(This,punk,iDrag,dxHotspot,dyHotspot)
1217 #define IImageList2_DragShowNolock(This,fShow) (This)->lpVtbl->DragShowNolock(This,fShow)
1218 #define IImageList2_GetDragImage(This,ppt,pptHotspot,riid,ppv) (This)->lpVtbl->GetDragImage(This,ppt,pptHotspot,riid,ppv)
1219 #define IImageList2_GetItemFlags(This,i,dwFlags) (This)->lpVtbl->GetItemFlags(This,i,dwFlags)
1220 #define IImageList2_GetOverlayImage(This,iOverlay,piIndex) (This)->lpVtbl->GetOverlayImage(This,iOverlay,piIndex)
1221 /*** IImageList2 methods ***/
1222 #define IImageList2_Resize(This,cxNewIconSize,cyNewIconSize) (This)->lpVtbl->Resize(This,cxNewIconSize,cyNewIconSize)
1223 #define IImageList2_GetOriginalSize(This,iImage,dwFlags,pcx,pcy) (This)->lpVtbl->GetOriginalSize(This,iImage,dwFlags,pcx,pcy)
1224 #define IImageList2_SetOriginalSize(This,iImage,cx,cy) (This)->lpVtbl->SetOriginalSize(This,iImage,cx,cy)
1225 #define IImageList2_SetCallback(This,punk) (This)->lpVtbl->SetCallback(This,punk)
1226 #define IImageList2_GetCallback(This,riid,ppv) (This)->lpVtbl->GetCallback(This,riid,ppv)
1227 #define IImageList2_ForceImagePresent(This,iImage,dwFlags) (This)->lpVtbl->ForceImagePresent(This,iImage,dwFlags)
1228 #define IImageList2_DiscardImages(This,iFirstImage,iLastImage,dwFlags) (This)->lpVtbl->DiscardImages(This,iFirstImage,iLastImage,dwFlags)
1229 #define IImageList2_PreloadImages(This,pimldp) (This)->lpVtbl->PreloadImages(This,pimldp)
1230 #define IImageList2_GetStatistics(This,pils) (This)->lpVtbl->GetStatistics(This,pils)
1231 #define IImageList2_Initialize(This,cx,cy,flags,cInitial,cGrow) (This)->lpVtbl->Initialize(This,cx,cy,flags,cInitial,cGrow)
1232 #define IImageList2_Replace2(This,i,hbmImage,hbmMask,punk,dwFlags) (This)->lpVtbl->Replace2(This,i,hbmImage,hbmMask,punk,dwFlags)
1233 #define IImageList2_ReplaceFromImageList(This,i,pil,iSrc,punk,dwFlags) (This)->lpVtbl->ReplaceFromImageList(This,i,pil,iSrc,punk,dwFlags)
1234 #else
1235 /*** IUnknown methods ***/
1236 static FORCEINLINE HRESULT IImageList2_QueryInterface(IImageList2* This,REFIID riid,void **ppvObject) {
1237     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1238 }
1239 static FORCEINLINE ULONG IImageList2_AddRef(IImageList2* This) {
1240     return This->lpVtbl->AddRef(This);
1241 }
1242 static FORCEINLINE ULONG IImageList2_Release(IImageList2* This) {
1243     return This->lpVtbl->Release(This);
1244 }
1245 /*** IImageList methods ***/
1246 static FORCEINLINE HRESULT IImageList2_Add(IImageList2* This,HBITMAP hbmImage,HBITMAP hbmMask,int *pi) {
1247     return This->lpVtbl->Add(This,hbmImage,hbmMask,pi);
1248 }
1249 static FORCEINLINE HRESULT IImageList2_ReplaceIcon(IImageList2* This,int i,HICON hicon,int *pi) {
1250     return This->lpVtbl->ReplaceIcon(This,i,hicon,pi);
1251 }
1252 static FORCEINLINE HRESULT IImageList2_SetOverlayImage(IImageList2* This,int iImage,int iOverlay) {
1253     return This->lpVtbl->SetOverlayImage(This,iImage,iOverlay);
1254 }
1255 static FORCEINLINE HRESULT IImageList2_Replace(IImageList2* This,int i,HBITMAP hbmImage,HBITMAP hbmMask) {
1256     return This->lpVtbl->Replace(This,i,hbmImage,hbmMask);
1257 }
1258 static FORCEINLINE HRESULT IImageList2_AddMasked(IImageList2* This,HBITMAP hbmImage,COLORREF crMask,int *pi) {
1259     return This->lpVtbl->AddMasked(This,hbmImage,crMask,pi);
1260 }
1261 static FORCEINLINE HRESULT IImageList2_Draw(IImageList2* This,IMAGELISTDRAWPARAMS *pimldp) {
1262     return This->lpVtbl->Draw(This,pimldp);
1263 }
1264 static FORCEINLINE HRESULT IImageList2_Remove(IImageList2* This,int i) {
1265     return This->lpVtbl->Remove(This,i);
1266 }
1267 static FORCEINLINE HRESULT IImageList2_GetIcon(IImageList2* This,int i,UINT flags,HICON *picon) {
1268     return This->lpVtbl->GetIcon(This,i,flags,picon);
1269 }
1270 static FORCEINLINE HRESULT IImageList2_GetImageInfo(IImageList2* This,int i,IMAGEINFO *pImageInfo) {
1271     return This->lpVtbl->GetImageInfo(This,i,pImageInfo);
1272 }
1273 static FORCEINLINE HRESULT IImageList2_Copy(IImageList2* This,int iDst,IUnknown *punkSrc,int iSrc,UINT uFlags) {
1274     return This->lpVtbl->Copy(This,iDst,punkSrc,iSrc,uFlags);
1275 }
1276 static FORCEINLINE HRESULT IImageList2_Merge(IImageList2* This,int i1,IUnknown *punk2,int i2,int dx,int dy,REFIID riid,void **ppv) {
1277     return This->lpVtbl->Merge(This,i1,punk2,i2,dx,dy,riid,ppv);
1278 }
1279 static FORCEINLINE HRESULT IImageList2_Clone(IImageList2* This,REFIID riid,void **ppv) {
1280     return This->lpVtbl->Clone(This,riid,ppv);
1281 }
1282 static FORCEINLINE HRESULT IImageList2_GetImageRect(IImageList2* This,int i,RECT *prc) {
1283     return This->lpVtbl->GetImageRect(This,i,prc);
1284 }
1285 static FORCEINLINE HRESULT IImageList2_GetIconSize(IImageList2* This,int *cx,int *cy) {
1286     return This->lpVtbl->GetIconSize(This,cx,cy);
1287 }
1288 static FORCEINLINE HRESULT IImageList2_SetIconSize(IImageList2* This,int cx,int cy) {
1289     return This->lpVtbl->SetIconSize(This,cx,cy);
1290 }
1291 static FORCEINLINE HRESULT IImageList2_GetImageCount(IImageList2* This,int *pi) {
1292     return This->lpVtbl->GetImageCount(This,pi);
1293 }
1294 static FORCEINLINE HRESULT IImageList2_SetImageCount(IImageList2* This,UINT uNewCount) {
1295     return This->lpVtbl->SetImageCount(This,uNewCount);
1296 }
1297 static FORCEINLINE HRESULT IImageList2_SetBkColor(IImageList2* This,COLORREF clrBk,COLORREF *pclr) {
1298     return This->lpVtbl->SetBkColor(This,clrBk,pclr);
1299 }
1300 static FORCEINLINE HRESULT IImageList2_GetBkColor(IImageList2* This,COLORREF *pclr) {
1301     return This->lpVtbl->GetBkColor(This,pclr);
1302 }
1303 static FORCEINLINE HRESULT IImageList2_BeginDrag(IImageList2* This,int iTrack,int dxHotspot,int dyHotspot) {
1304     return This->lpVtbl->BeginDrag(This,iTrack,dxHotspot,dyHotspot);
1305 }
1306 static FORCEINLINE HRESULT IImageList2_EndDrag(IImageList2* This) {
1307     return This->lpVtbl->EndDrag(This);
1308 }
1309 static FORCEINLINE HRESULT IImageList2_DragEnter(IImageList2* This,HWND hwndLock,int x,int y) {
1310     return This->lpVtbl->DragEnter(This,hwndLock,x,y);
1311 }
1312 static FORCEINLINE HRESULT IImageList2_DragLeave(IImageList2* This,HWND hwndLock) {
1313     return This->lpVtbl->DragLeave(This,hwndLock);
1314 }
1315 static FORCEINLINE HRESULT IImageList2_DragMove(IImageList2* This,int x,int y) {
1316     return This->lpVtbl->DragMove(This,x,y);
1317 }
1318 static FORCEINLINE HRESULT IImageList2_SetDragCursorImage(IImageList2* This,IUnknown *punk,int iDrag,int dxHotspot,int dyHotspot) {
1319     return This->lpVtbl->SetDragCursorImage(This,punk,iDrag,dxHotspot,dyHotspot);
1320 }
1321 static FORCEINLINE HRESULT IImageList2_DragShowNolock(IImageList2* This,WINBOOL fShow) {
1322     return This->lpVtbl->DragShowNolock(This,fShow);
1323 }
1324 static FORCEINLINE HRESULT IImageList2_GetDragImage(IImageList2* This,POINT *ppt,POINT *pptHotspot,REFIID riid,void **ppv) {
1325     return This->lpVtbl->GetDragImage(This,ppt,pptHotspot,riid,ppv);
1326 }
1327 static FORCEINLINE HRESULT IImageList2_GetItemFlags(IImageList2* This,int i,DWORD *dwFlags) {
1328     return This->lpVtbl->GetItemFlags(This,i,dwFlags);
1329 }
1330 static FORCEINLINE HRESULT IImageList2_GetOverlayImage(IImageList2* This,int iOverlay,int *piIndex) {
1331     return This->lpVtbl->GetOverlayImage(This,iOverlay,piIndex);
1332 }
1333 /*** IImageList2 methods ***/
1334 static FORCEINLINE HRESULT IImageList2_Resize(IImageList2* This,int cxNewIconSize,int cyNewIconSize) {
1335     return This->lpVtbl->Resize(This,cxNewIconSize,cyNewIconSize);
1336 }
1337 static FORCEINLINE HRESULT IImageList2_GetOriginalSize(IImageList2* This,int iImage,DWORD dwFlags,int *pcx,int *pcy) {
1338     return This->lpVtbl->GetOriginalSize(This,iImage,dwFlags,pcx,pcy);
1339 }
1340 static FORCEINLINE HRESULT IImageList2_SetOriginalSize(IImageList2* This,int iImage,int cx,int cy) {
1341     return This->lpVtbl->SetOriginalSize(This,iImage,cx,cy);
1342 }
1343 static FORCEINLINE HRESULT IImageList2_SetCallback(IImageList2* This,IUnknown *punk) {
1344     return This->lpVtbl->SetCallback(This,punk);
1345 }
1346 static FORCEINLINE HRESULT IImageList2_GetCallback(IImageList2* This,REFIID riid,void **ppv) {
1347     return This->lpVtbl->GetCallback(This,riid,ppv);
1348 }
1349 static FORCEINLINE HRESULT IImageList2_ForceImagePresent(IImageList2* This,int iImage,DWORD dwFlags) {
1350     return This->lpVtbl->ForceImagePresent(This,iImage,dwFlags);
1351 }
1352 static FORCEINLINE HRESULT IImageList2_DiscardImages(IImageList2* This,int iFirstImage,int iLastImage,DWORD dwFlags) {
1353     return This->lpVtbl->DiscardImages(This,iFirstImage,iLastImage,dwFlags);
1354 }
1355 static FORCEINLINE HRESULT IImageList2_PreloadImages(IImageList2* This,IMAGELISTDRAWPARAMS *pimldp) {
1356     return This->lpVtbl->PreloadImages(This,pimldp);
1357 }
1358 static FORCEINLINE HRESULT IImageList2_GetStatistics(IImageList2* This,IMAGELISTSTATS *pils) {
1359     return This->lpVtbl->GetStatistics(This,pils);
1360 }
1361 static FORCEINLINE HRESULT IImageList2_Initialize(IImageList2* This,int cx,int cy,UINT flags,int cInitial,int cGrow) {
1362     return This->lpVtbl->Initialize(This,cx,cy,flags,cInitial,cGrow);
1363 }
1364 static FORCEINLINE HRESULT IImageList2_Replace2(IImageList2* This,int i,HBITMAP hbmImage,HBITMAP hbmMask,IUnknown *punk,DWORD dwFlags) {
1365     return This->lpVtbl->Replace2(This,i,hbmImage,hbmMask,punk,dwFlags);
1366 }
1367 static FORCEINLINE HRESULT IImageList2_ReplaceFromImageList(IImageList2* This,int i,IImageList *pil,int iSrc,IUnknown *punk,DWORD dwFlags) {
1368     return This->lpVtbl->ReplaceFromImageList(This,i,pil,iSrc,punk,dwFlags);
1369 }
1370 #endif
1371 #endif
1372 
1373 #endif
1374 
1375 HRESULT STDMETHODCALLTYPE IImageList2_Resize_Proxy(
1376     IImageList2* This,
1377     int cxNewIconSize,
1378     int cyNewIconSize);
1379 void __RPC_STUB IImageList2_Resize_Stub(
1380     IRpcStubBuffer* This,
1381     IRpcChannelBuffer* pRpcChannelBuffer,
1382     PRPC_MESSAGE pRpcMessage,
1383     DWORD* pdwStubPhase);
1384 HRESULT STDMETHODCALLTYPE IImageList2_GetOriginalSize_Proxy(
1385     IImageList2* This,
1386     int iImage,
1387     DWORD dwFlags,
1388     int *pcx,
1389     int *pcy);
1390 void __RPC_STUB IImageList2_GetOriginalSize_Stub(
1391     IRpcStubBuffer* This,
1392     IRpcChannelBuffer* pRpcChannelBuffer,
1393     PRPC_MESSAGE pRpcMessage,
1394     DWORD* pdwStubPhase);
1395 HRESULT STDMETHODCALLTYPE IImageList2_SetOriginalSize_Proxy(
1396     IImageList2* This,
1397     int iImage,
1398     int cx,
1399     int cy);
1400 void __RPC_STUB IImageList2_SetOriginalSize_Stub(
1401     IRpcStubBuffer* This,
1402     IRpcChannelBuffer* pRpcChannelBuffer,
1403     PRPC_MESSAGE pRpcMessage,
1404     DWORD* pdwStubPhase);
1405 HRESULT STDMETHODCALLTYPE IImageList2_SetCallback_Proxy(
1406     IImageList2* This,
1407     IUnknown *punk);
1408 void __RPC_STUB IImageList2_SetCallback_Stub(
1409     IRpcStubBuffer* This,
1410     IRpcChannelBuffer* pRpcChannelBuffer,
1411     PRPC_MESSAGE pRpcMessage,
1412     DWORD* pdwStubPhase);
1413 HRESULT STDMETHODCALLTYPE IImageList2_GetCallback_Proxy(
1414     IImageList2* This,
1415     REFIID riid,
1416     void **ppv);
1417 void __RPC_STUB IImageList2_GetCallback_Stub(
1418     IRpcStubBuffer* This,
1419     IRpcChannelBuffer* pRpcChannelBuffer,
1420     PRPC_MESSAGE pRpcMessage,
1421     DWORD* pdwStubPhase);
1422 HRESULT STDMETHODCALLTYPE IImageList2_ForceImagePresent_Proxy(
1423     IImageList2* This,
1424     int iImage,
1425     DWORD dwFlags);
1426 void __RPC_STUB IImageList2_ForceImagePresent_Stub(
1427     IRpcStubBuffer* This,
1428     IRpcChannelBuffer* pRpcChannelBuffer,
1429     PRPC_MESSAGE pRpcMessage,
1430     DWORD* pdwStubPhase);
1431 HRESULT STDMETHODCALLTYPE IImageList2_DiscardImages_Proxy(
1432     IImageList2* This,
1433     int iFirstImage,
1434     int iLastImage,
1435     DWORD dwFlags);
1436 void __RPC_STUB IImageList2_DiscardImages_Stub(
1437     IRpcStubBuffer* This,
1438     IRpcChannelBuffer* pRpcChannelBuffer,
1439     PRPC_MESSAGE pRpcMessage,
1440     DWORD* pdwStubPhase);
1441 HRESULT STDMETHODCALLTYPE IImageList2_PreloadImages_Proxy(
1442     IImageList2* This,
1443     IMAGELISTDRAWPARAMS *pimldp);
1444 void __RPC_STUB IImageList2_PreloadImages_Stub(
1445     IRpcStubBuffer* This,
1446     IRpcChannelBuffer* pRpcChannelBuffer,
1447     PRPC_MESSAGE pRpcMessage,
1448     DWORD* pdwStubPhase);
1449 HRESULT STDMETHODCALLTYPE IImageList2_GetStatistics_Proxy(
1450     IImageList2* This,
1451     IMAGELISTSTATS *pils);
1452 void __RPC_STUB IImageList2_GetStatistics_Stub(
1453     IRpcStubBuffer* This,
1454     IRpcChannelBuffer* pRpcChannelBuffer,
1455     PRPC_MESSAGE pRpcMessage,
1456     DWORD* pdwStubPhase);
1457 HRESULT STDMETHODCALLTYPE IImageList2_Initialize_Proxy(
1458     IImageList2* This,
1459     int cx,
1460     int cy,
1461     UINT flags,
1462     int cInitial,
1463     int cGrow);
1464 void __RPC_STUB IImageList2_Initialize_Stub(
1465     IRpcStubBuffer* This,
1466     IRpcChannelBuffer* pRpcChannelBuffer,
1467     PRPC_MESSAGE pRpcMessage,
1468     DWORD* pdwStubPhase);
1469 HRESULT STDMETHODCALLTYPE IImageList2_Replace2_Proxy(
1470     IImageList2* This,
1471     int i,
1472     HBITMAP hbmImage,
1473     HBITMAP hbmMask,
1474     IUnknown *punk,
1475     DWORD dwFlags);
1476 void __RPC_STUB IImageList2_Replace2_Stub(
1477     IRpcStubBuffer* This,
1478     IRpcChannelBuffer* pRpcChannelBuffer,
1479     PRPC_MESSAGE pRpcMessage,
1480     DWORD* pdwStubPhase);
1481 HRESULT STDMETHODCALLTYPE IImageList2_ReplaceFromImageList_Proxy(
1482     IImageList2* This,
1483     int i,
1484     IImageList *pil,
1485     int iSrc,
1486     IUnknown *punk,
1487     DWORD dwFlags);
1488 void __RPC_STUB IImageList2_ReplaceFromImageList_Stub(
1489     IRpcStubBuffer* This,
1490     IRpcChannelBuffer* pRpcChannelBuffer,
1491     PRPC_MESSAGE pRpcMessage,
1492     DWORD* pdwStubPhase);
1493 
1494 #endif  /* __IImageList2_INTERFACE_DEFINED__ */
1495 
1496 
1497 DEFINE_GUID(LIBID_CommonControlObjects, 0xbcada15b, 0xb428, 0x420c, 0x8d,0x28, 0x02,0x35,0x90,0x92,0x4c,0x9f);
1498 
1499 /*****************************************************************************
1500  * ImageList coclass
1501  */
1502 
1503 DEFINE_GUID(CLSID_ImageList, 0x7c476ba2, 0x02b1, 0x48f4, 0x80,0x48, 0xb2,0x46,0x19,0xdd,0xc0,0x58);
1504 
1505 #ifdef __cplusplus
1506 class DECLSPEC_UUID("7c476ba2-02b1-48f4-8048-b24619ddc058") ImageList;
1507 #ifdef __CRT_UUID_DECL
1508 __CRT_UUID_DECL(ImageList, 0x7c476ba2, 0x02b1, 0x48f4, 0x80,0x48, 0xb2,0x46,0x19,0xdd,0xc0,0x58)
1509 #endif
1510 #endif
1511 
1512 #endif
1513 /* Begin additional prototypes for all interfaces */
1514 
1515 
1516 /* End additional prototypes */
1517 
1518 #ifdef __cplusplus
1519 }
1520 #endif
1521 
1522 #endif /* __commoncontrols_h__ */
1523