Home | History | Annotate | Download | only in include
      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