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